Google Cloud Shell is a remote Linux development environment that is free to all Google Cloud users, which includes your
@g.ucla.edu accounts. Our CS 130 development environment works well on Cloud Shell, and you can use the remote environment to perform most (maybe all) development tasks: cloning repositories, editing code, building servers, running tests, and pushing changes for review. If you have trouble running the development environment on your local machine, or your local machine is too slow, then we recommend trying Cloud Shell.
Opening the Cloud Shell Terminal gives you access to a Debian Linux machine running somewhere in Google’s data centers. Each time you begin a Cloud Shell session, a new computing instance is allocated to you. A persistent 5GB home directory will be connected to the instance, allowing you to save files from session to session. If your session is idle for 20 minutes, your session is terminated and the machine may be released.
At the beginning of the session, starting the development environment will take about a minute to pull the cs130/devel Docker image and re-build your development environment. Your home directory inside the development environment will be saved within your Cloud Shell home directory (in
~/.cs130/, but you should not need to look there) so it carries over from session to session. As with other platforms, when you start the development environment the current directory will be mapped to
/usr/src/projects inside the development environment.
gcloud will use the current user selected through the profile picture in the upper right. You should make sure to select your
@g.ucla.edu user every time you log into Cloud Shell, to keep your files stored under your UCLA Google account. If you have trouble having to select this user each time, consider using a dedicated Chrome profile for your UCLA Google account with only that account logged in.
The Cloud Shell Editor is an adaptation of the open source Visual Studio Code project, again running on a server in Google’s data centers. This editor gives you some basic VS Code editing functionality but does not support Extensions or full-featured Intellisense, so you will have only limited auto-code-complete (
Cloud Shell has a quota of 60 hours usage per week. We hope that none of your are actively developing for more than 60 hours per week in this course, but if you kept starting sessions every hour it’s theoretically possible to hit the limit. If you close your Terminal/Editor when you’re finished working, or let your sessions time out without continually “Reconnecting,” then you should not run out of hours.