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: infrain 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: infrain pipeline.yaml: