Skip to Content
Technical Articles
Author's profile photo Nabheet Madan

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.

Assigned Tags

      4 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Pierre Dominique
      Pierre Dominique

      Hi Nabheet,

      Thanks for sharing this, this was on my todo list after reading Thomas blog posts. ?

      Cheers,

      Pierre

      EDIT: typo

      Author's profile photo Nabheet Madan
      Nabheet Madan
      Blog Post Author

      cool..thanks..

      Author's profile photo Mahesh Palavalli
      Mahesh Palavalli

      and here I am using GCP to create my personal VPN for free 😀 😀

      Nice one Nabheet Madan

      BR,

      Mahesh

      Author's profile photo Nabheet Madan
      Nabheet Madan
      Blog Post Author

      great idea...Sky is the limit?