- Select a language for the TTS:
- UK English Female
- UK English Male
- US English Female
- US English Male
- Australian Female
- Australian Male
- Language selected: (auto detect) - EN
Play all audios:
USING CLOUD BUILD, GOOGLE CONTAINER REGISTRY, AND CLOUD RUN TO CONTINUOUSLY BUILD AND DEPLOY A SIMPLE JAVA APPLICATION Google Cloud Platform is one of the leading cloud providers in the
public cloud market. It provides a host of managed services, and if you are running exclusively on Google Cloud, it makes sense to use the managed CI/CD tools that Google Cloud provides. A
typical Continuous Integration & Deployment setup on Google Cloud Platform looks like the below. * Developer checks in the source code to a Version Control system such as GitHub * GitHub
triggers a post-commit hook to Cloud Build. * Cloud Build builds the container image and pushes to Container Registry. * Cloud Build then notifies Cloud Run to redeploy * Cloud Run pulls
the latest image from the Container Registry and runs it. In this mini-guide, we will use Google Cloud Build to build a simple java application, store the docker image in Google Container
Registry, and deploy it to Google Cloud Run. ARTEFACTS We need to create the following artefacts for the process to work: You can fork the https://github.com/bharatmicrosystems/tomcat.git
repository as an example. We will use this sample repository in this guide. THE DOCKER FILE We will use the following Docker file for this guide: The Dockerfile: * Builds a tomcat 8.5
instance from scratch * Clones the source code of a sample web application (You can substitute that with your git repo) * Builds the application using maven * Copies the built war file to
the webapps directory as ROOT.war * Runs catalina.sh as the entry point script THE CLOUDBUILD.YAML FILE We will use the following cloud build file: Contains configuration to use the Google
Cloud Build service that * Builds the docker image in Google Cloud Platform * Pushes the container image into the Google Cloud Registry * Deploys the image to Google Cloud Run So let’s get
started. CREATE THE TRIGGER The next step is to create a trigger. Ensure that the Cloud Build, Cloud Run and Google Container Registry APIs are enabled Go to Cloud Build and click on Connect
Repository to provide Cloud Build access to your repository. Select your appropriate VCS Repository (GitHub in this case) in the next page and click on Next That will take you to the GitHub
page where you need to authenticate, and an OAuth flow will link your GitHub account with Cloud Run. Select the repository you want Cloud Run to connect to And then click on Connect
Repository. In the next page, select create a trigger and provide the name, select the Repository and select all Branches as the branch. Keep the default values for the rest of the
configuration and click on next. And you would see that you have created the trigger successfully. We also need to ensure if Cloud Build has access to deploy to Cloud Run. For that go to
settings and Enable the service account permission for Cloud Run. And that’s it. We are ready to test! TESTING THE CONFIGURATION Make a minor change in the README.md file and push to the
remote repository see if it triggers the cloud build If you have set up everything correctly, if you go to History, you would see that the build has started successfully Let us investigate
and see what is happening within the build And you would see that Cloud Build is running the steps sequentially. Wait for the build to complete And you see that the build is successful, we
are ready to access our application. ACCESS THE BUILT IMAGE Once the build is complete, go to Google Container Registry and check if Cloud Build has pushed an image to it. ACCESS THE
DEPLOYED APPLICATION Go to Google Cloud Run, and you will see that the Cloud Build has deployed a new service. Click on the tomcat service, fetch the URL and access it from the browser and
you should see the sample website below CONCLUSION Thanks for reading through! I hope you enjoyed the article. That was a very simplistic example of how to use Google Cloud Build, Container
Registry, and Google Cloud Run to create a CI/CD pipeline, and you can customise it according to your requirements.