PR automation pipelines
Use PR automations to generate revisions throughout a pipeline
Plural Pipelines do not ordinarily require human intervention to deploy the services within them, instead relying on common conventions like passing along git shas plus configured secrets to ferry along code changes. That said, there are still cases where you would like a PR to perform each update:
- Robust GitOps flows where you need an auditable approval for each change
- Cases where other automations (eg GitOps app-of-apps or terraform) could interfere with the changes from a pipeline
Plural PR Automation pipelines provide a simple but highly configurable means of providing extensible, auditable, yet automated workflows that can meet those sorts of constraints.
Setup
Here's a quick and dirty dev to prod pipeline with pr automations to execute the changes in each stage:
in dev.yaml
:
yaml
apiVersion: deployments.plural.sh/v1alpha1 kind: ServiceDeployment metadata: name: podinfo-dev spec: name: podinfo namespace: podinfo helm: chart: podinfo version: 6.5.3 # VERSION repository: name: podinfo namespace: infra clusterRef: kind: Cluster name: boot-staging namespace: infra
in prod.yaml
:
yaml
apiVersion: deployments.plural.sh/v1alpha1 kind: ServiceDeployment metadata: name: podinfo-prod spec: name: podinfo namespace: podinfo helm: chart: podinfo version: 6.5.3 # VERSION repository: name: podinfo namespace: infra clusterRef: kind: Cluster name: boot-prod namespace: infra
in pipeline.yaml
: