So now you have built a new and shiny app and want to deploy it to the BC Gov's Private Cloud Openshift Platform. You also want to take advantage of the Continuous integration (CI) and Continuous delivery (CD) power that can enable your team to automatically build, test, and prepare code changes for release to production so that your software delivery is more efficient, rapid and - very importantly - secure. To help teams like yours that want to get started with pipeline automation quickly or wonder what the best security practices for pipeline development are, or both!, we have created pipeline templates for the automation technologies supported^1 on the Private Cloud Platform.
Any product teams working in the Silver and Gold clusters on the Private Cloud Platform.
Head out to the Security Pipeline Templates repo to find easy-to-follow guides for getting started with each of the supported technology.
At this moment, the following technologies are available to the product teams:
While Jenkins is technically supported on the Platform we highly discourage teams from using this technology as it is highly inefficient with the use of valuable Platform resources. Over the next few months we will be guiding the teams that currently use Jenkins to transition to a more modern and efficient technology such as those listed above.
The final decision should be made by each team and may depend on their previous experience and comfort for each tool. We would like to offer the following rule of thumb:
For teams with limited to no previous experience developing automation pipelines, the combination of Github Actions for builds and ArgoCD for deployments is recommended.
For more mature teams with previouse automation expereince, Openshift Pipelines is a good choice.
Finally, while teams can use GitHub Actions for both builds (CI) and deployments (CD), we feel that ArgoCD provides more control over the success of the deployment and brings many other benefits of the Infrastructure as Code / GitOps approach such as observability, improved stability and consistency, and an improved security model to name a few. If you are interested to learn in more detail our team members' opinions about each tool, you can follow their discussion here.
You are welcome to fork a repo and add more steps to the templates or make any modifications that you think will make the template better. Submit a PR and tag any of the Platform Admins for review and we will send some good karma your way!
We hope that these pipeline templates will enable your team to enjoy the power or CI/CD automation and the best app security practices with less effort so you can spend this time on what most teams enjoy the most - building better digital services for citizens of our beautiful province.
Love, Platform Services Team, xo
1: By supported we mean that not only this technology is available today on the Platform but also the Platform Services Team has expertise with this technology to help the product teams using it. While teams can absolutely use any other automation technology outside of the Platform, we may not have the expertise to support them if they need help.