Skip to Content
Technical Articles

Customizing Google Cloud Shell for SAP Development

Background

I was reading this nice blog post by Thomas Jung on Google Cloud Shell, which brought back some memories. Few months back I wrote a blog post on deploying our SAP Cloud application programming model to Google cloud run via cloud shell. ย I got lucky and was invited by DJ Adams sir to present the same in HandsOnSAPDev session. We were using cloud shell to deploy our app as well as making the images. In the session I came to know that Cloud shell is nothing but a docker container running an image. This can be customized as per one need. So through this blog post we will see how we can customize our cloud shell environment for our SAP development and no need to install packages etc. each time it starts.ย 

Lets begin

Once you login to google cloud console start the cloud shell by clicking below mentioned highlighted button

The cloud shell is opened, click on below highlighted button to open the cloud shell environment

As can be seen below it is using an image for the environment and we can customize it. Click on create image button

The moment you click create image, you see a super interactive wizard which opens on the right to help you in creating the image. I wish the same can be incorporated in SAP Cloud Platform.

The moment you confirm you google project, it takes you to the next step which is create the basic Dockerfile image named mysap with cloud shell image as parent. Once both commands are executed click on next.

Next step is to move to the image directory and open the basic dockerfile.

cd $HOME/SAP-Shell && cloudshell edit Dockerfile

For now I want my cloud shell to support CDS and UI5 local development so adding it to the docker file

FROM gcr.io/cloudshell-images/cloudshell:latest
# Add your content here
RUN npm set @sap:registry=https://npm.sap.com
RUN npm i -g @sap/cds
RUN npm install --global @ui5/cli

Next step is to build the image and test locally

cloudshell env build-local
cloudshell env run

Now we are inside the container and as can be seen UI5 and CDS are already available.

Since locally the cloud shell work next step is to publish the image to container registry

Last step is to update this image as the default image using below command and restart

cloudshell env update-default-image

Demo Time

What is next?

I have customized it to have UI5 and CDS tooling, you can add Cloudfoundry etc., sky is the limit.The intent is to keep exploring and keep sharing. We have so many cloud providers our journey will continue. Feel free to provide your feedback.

4 Comments
You must be Logged on to comment or reply to a post.