{"id":20497918,"url":"https://github.com/cgrant/cloudshell-tutorial","last_synced_at":"2025-03-05T18:57:55.678Z","repository":{"id":167345522,"uuid":"303733062","full_name":"cgrant/cloudshell-tutorial","owner":"cgrant","description":null,"archived":false,"fork":false,"pushed_at":"2021-05-21T15:32:51.000Z","size":37,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-16T06:33:23.101Z","etag":null,"topics":["cloud","demo","google-cloud","ide","tutorial"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cgrant.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-13T14:38:13.000Z","updated_at":"2022-09-29T19:28:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"3bd8d0d1-bb30-4549-934f-f5fcf40eec30","html_url":"https://github.com/cgrant/cloudshell-tutorial","commit_stats":null,"previous_names":["cgrant/cloudshell-tutorial"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cgrant%2Fcloudshell-tutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cgrant%2Fcloudshell-tutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cgrant%2Fcloudshell-tutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cgrant%2Fcloudshell-tutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cgrant","download_url":"https://codeload.github.com/cgrant/cloudshell-tutorial/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242087914,"owners_count":20069722,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloud","demo","google-cloud","ide","tutorial"],"created_at":"2024-11-15T18:12:30.026Z","updated_at":"2025-03-05T18:57:55.665Z","avatar_url":"https://github.com/cgrant.png","language":"Shell","readme":"# cloudshell-tutorial\n\n[Official Docs](https://cloud.google.com/shell/docs/cloud-shell-tutorials/tutorials)\n\n## Examples\n\n*Cloud Shell - w/ Editor - No console* - (console.cloud.google.com/cloudshell/editor)\n\n[![Open in Cloud Shell w Editor](http://www.gstatic.com/cloudssh/images/open-btn.svg)](https://console.cloud.google.com/cloudshell/editor?cloudshell_git_repo=https://github.com/cgrant/cloudshell-tutorial.git\u0026cloudshell_tutorial=docs/tutorial.md)\n\n*Cloud Shell - No Editor - No Console* - (console.cloud.google.com/cloudshell/editor) (shellonly=true)\n\n[![Open in Cloud Shell](http://www.gstatic.com/cloudssh/images/open-btn.svg)](https://console.cloud.google.com/cloudshell/editor?cloudshell_git_repo=https://github.com/cgrant/cloudshell-tutorial.git\u0026cloudshell_tutorial=docs/tutorial.md\u0026shellonly=true)\n\n*Cloud Shell - No Editor - w/ Console*\n\n[![Open in Cloud Shell w Console](http://www.gstatic.com/cloudssh/images/open-btn.svg)](https://console.cloud.google.com/home/dashboard?cloudshell_git_repo=https://github.com/cgrant/cloudshell-tutorial.git\u0026cloudshell_tutorial=docs/tutorial.md)\n \n## Branches\n\nYou can specify  the  branch with the `cloudshell_git_branch` parameter as in\n`\u0026cloudshell_git_branch=v123`\n\n## Clones \u0026 Re clones\nEach time you click the buttons above, the repo is cloned down to your cloud shell in a new numbered directory. If the repo name was demo, the first click would clone to `~/cloudshell_open/demo` the second click would download to `~/cloudshell_open/demo-1` Once downloaded, the shell is opened into that cloned folder. The second click would open the shell into `~/cloudshell_open/demo-1`\n\nWhen using directives in the turorials that reference files and path the system uses relative links based on the `workspace` value. By default this value is set to your home directory `~`. You can set this in the button's url with the `cloudshell_workspace` parameter. This will also set the IDE workspace to that directory. One additional note here is that this command is executed for you within the cloned repo folder. \n\n\nConsider this link \n\n```\nhttps://console.cloud.google.com/cloudshell/editor\n    ?cloudshell_git_repo=https://github.com/cgrant/cloudshell-tutorial.git\n    \u0026cloudshell_git_branch=v123\n    \u0026cloudshell_workspace=.\n    \u0026cloudshell_tutorial=docs/tutorial.md\n\n```\n\nWith the previous link and assuming this is the third click of the button,  when clicked the `v123` branch of the repo will be downloaded to the `~/cloudshell_open/demo-2` directory. The shell will be opened into the `~/cloudshell_open/demo-2` directory. The IDE will be opened with the explorer root as `~/cloudshell_open/demo-2` and the tutorial will open the file at `~/cloudshell_open/demo-2/docs/tutorial.md`\n\n\n## Images\n\nAll images utilize absolute urls. While ideally you'd like to keep assets together, I've found serving them from firebase hosting to be the easiest model. Storing them in git is challenging during development, trying to pull the right versions when on a branch etc. \n\n\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcgrant%2Fcloudshell-tutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcgrant%2Fcloudshell-tutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcgrant%2Fcloudshell-tutorial/lists"}