Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI/CD Pipeline using GCP Cloud Build #18

Open
jimmyzhen opened this issue Nov 30, 2021 · 1 comment
Open

CI/CD Pipeline using GCP Cloud Build #18

jimmyzhen opened this issue Nov 30, 2021 · 1 comment
Assignees

Comments

@jimmyzhen
Copy link
Contributor

jimmyzhen commented Nov 30, 2021

Note: This repository has existing CI integration with CircleCI at https://app.circleci.com/pipelines/github/MoTrPAC/exercise-transcriptome-meta-analysis

Primary objective:
Establish a continuous delivery pipeline that automates the portal deployment process as much as possible.

Approaches:

  1. Leverage the existing (free tier) CircleCI integration to run builds and unit tests on any given branches. The intention is to prevent any failed builds from being deployed to a GKE cluster. Although, technically, the unit testing step can be included in the Cloud Build pipeline, I prefer it to be done ahead of time both locally and on CircleCI while letting Cloud Build to focus on deployment.
  2. When a pull request of a working branch is merged into the dev branch, it triggers the Cloud Build to run the pipeline and deploy code changes to a GKE cluster specifically exposed for testing and demo purposes.
  3. When a pull request of a working branch is merged into the main branch, it triggers the Cloud Build to run the pipeline and deploy code changes to a GKE cluster specifically exposed for staging and QA/QC purposes.
  4. When the main branch is tagged with a release label, it triggers the Cloud Build to run the pipeline and deploy code changes to a GKE cluster specifically exposed for the production environment.

Considerations:

  1. SSL certificates for GKE clusters are needed.
  2. Testing and staging GKE cluster endpoints should potentially be inaccessible to the public.
@jimmyzhen jimmyzhen self-assigned this Nov 30, 2021
@jimmyzhen
Copy link
Contributor Author

Prior to opening this ticket, this repository had no other branches except the main branch.

I created the dev branch based off of the main branch and added a few config files to experiment with Cloud Build pipeline setup. The experiment went successfully and now I need to formally orchestrate the workflow and polish the configurations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant