Google Cloud Build
Author: Ronald Fung
Creation Date: 14 June 2023
Next Modified Date: 14 June 2024
A. Introduction
Cloud Build is a service that executes your builds on Google Cloud infrastructure. Cloud Build can import source code from Cloud Storage, Cloud Source Repositories, GitHub, or Bitbucket, execute a build to your specifications, and produce artifacts such as Docker containers or Java archives. Learn more
Cloud Build executes your build as a series of build steps, where each build step is run in a Docker container. A build step can do anything that can be done from a container irrespective of the environment. To perform your tasks, you can either use the supported build steps provided by Cloud Build or write your own build steps.
B. How is it used at Seagen
Google Cloud Build is a continuous integration/continuous delivery (CI/CD) platform that allows businesses to build, test, and deploy code on Google Cloud. Here are some ways that Seagen can use Google Cloud Build to improve their development and deployment process:
Build Automation: Google Cloud Build allows businesses to automate their build process by defining build steps and triggers. Seagen can use Google Cloud Build to automate the build process for their applications and ensure that the code is built consistently across environments.
Continuous Integration: Google Cloud Build integrates with source code repositories like GitHub and Bitbucket, allowing businesses to trigger builds automatically when new code is committed. Seagen can use Google Cloud Build to set up continuous integration and ensure that their code is tested and integrated with other components of their application.
Containerization: Google Cloud Build supports Docker containerization, which enables businesses to create lightweight, portable, and scalable application environments. Seagen can use Google Cloud Build to build and deploy containerized applications on Google Cloud.
Testing: Google Cloud Build supports integration with testing frameworks like JUnit and Selenium, allowing businesses to automate testing as part of the build process. Seagen can use Google Cloud Build to automate testing and ensure that their applications are thoroughly tested before deployment.
Deployment: Google Cloud Build integrates with deployment tools like Kubernetes and Google Cloud Functions, enabling businesses to deploy their applications automatically. Seagen can use Google Cloud Build to automate deployment and ensure that their applications are deployed consistently across environments.
By using Google Cloud Build, Seagen can improve their development and deployment process, accelerate time-to-market for their applications, and reduce the risk of errors and downtime.
C. Features
Google Cloud Build is a continuous integration/continuous delivery (CI/CD) platform that allows businesses to build, test, and deploy code on Google Cloud. Here are some of the key features of Google Cloud Build:
Build Automation: Google Cloud Build allows businesses to automate their build process by defining build steps and triggers. This enables businesses to ensure that the code is built consistently across environments.
Continuous Integration: Google Cloud Build integrates with source code repositories like GitHub and Bitbucket, allowing businesses to trigger builds automatically when new code is committed. This enables businesses to set up continuous integration and ensure that their code is tested and integrated with other components of their application.
Containerization: Google Cloud Build supports Docker containerization, which enables businesses to create lightweight, portable, and scalable application environments. This feature allows businesses to build and deploy containerized applications on Google Cloud.
Testing: Google Cloud Build supports integration with testing frameworks like JUnit and Selenium, allowing businesses to automate testing as part of the build process. This ensures that applications are thoroughly tested before deployment.
Deployment: Google Cloud Build integrates with deployment tools like Kubernetes and Google Cloud Functions, enabling businesses to deploy their applications automatically. This feature allows businesses to automate deployment and ensure that their applications are deployed consistently across environments.
Custom Build Steps: Google Cloud Build allows businesses to define custom build steps using any executable or script. This enables businesses to customize their build process to meet their specific needs.
Secure and Scalable: Google Cloud Build is a secure and scalable platform that can handle large-scale builds and deployments. It provides a secure and isolated build environment to ensure that builds are safe and secure.
Overall, Google Cloud Build provides a range of features and services that enable businesses to automate their build, test, and deployment process, accelerate time-to-market for their applications, and reduce the risk of errors and downtime.
D. Where Implemented
E. How it is tested
Testing Google Cloud Build involves verifying that the build process is working correctly and producing the expected results. Here are some steps you can take to test Google Cloud Build:
Define Build Process: Define the build process for your application and create a configuration file that specifies the build steps and triggers. This file can be stored in a source code repository like GitHub or Bitbucket.
Set Up Build Triggers: Set up build triggers to automatically initiate a build when new code is committed to the source code repository. This can be done using Google Cloud Build’s trigger functionality.
Verify Build Output: After the build is complete, verify that the build output is correct and meets the expected requirements. This can include checking that all dependencies are included, that the application is built correctly, and that any tests have passed.
Test Deployment: Test the deployment of the application to ensure that it works correctly in the target environment. This can include testing that the application is accessible, that it performs as expected, and that there are no errors or bugs.
Monitor Performance: Monitor the performance of the application to ensure that it is stable, secure, and performing as expected. This can include monitoring application logs, usage statistics, and other performance metrics.
By following these steps, you can test Google Cloud Build and ensure that your build process is working correctly and producing the expected results. It’s important to regularly test your build process to ensure that it remains reliable and efficient and to avoid costly errors or downtime.
F. 2023 Roadmap
????
G. 2024 Roadmap
????
H. Known Issues
While Google Cloud Build is a robust and reliable continuous integration/continuous delivery (CI/CD) platform, there are some known issues or limitations that you should be aware of. Here are some of the common issues with Google Cloud Build:
Build Timeouts: Google Cloud Build has a default build timeout of 10 minutes, which may not be sufficient for larger or more complex builds. It’s important to monitor build times and adjust the timeout settings as needed.
Limited Build Environment: Google Cloud Build provides a secure and isolated build environment, but this environment may not include all the dependencies or tools that are needed for some builds. It’s important to review the build environment and ensure that all necessary dependencies and tools are included.
Limited Integration: While Google Cloud Build integrates with source code repositories like GitHub and Bitbucket, it may not integrate with all third-party tools or services. It’s important to review the integration options and ensure that all necessary integrations are supported.
Limited Customization: While Google Cloud Build allows businesses to define custom build steps using any executable or script, the customization options may be limited for more complex builds. It’s important to review the customization options and ensure that they meet the specific needs of your application.
Cost: Google Cloud Build is a paid service, and the cost can increase significantly for businesses with large or complex builds. It’s important to review the pricing structure and estimate the cost of the service for your specific needs.
It’s important to be aware of these limitations and issues when using Google Cloud Build. By understanding these challenges, you can better ensure that your build process remains reliable and efficient and avoid costly errors or downtime.
[x] Reviewed by Enterprise Architecture
[x] Reviewed by Application Development
[x] Reviewed by Data Architecture