A detailed example for implementing CI/CD pipelines to build Argo Workflows using Argo Workflows
Fixes #8591
Motivation
This issue was more than 2 years old and I wanted to contribute to the project. I also work with Argo Workflows everyday and I'm CAPA certified (Certified Argo Project Associate).
Modifications
WorkflowTemplate example includes:
CI
Description
Resource
Status
Argo Workflows API endpoint, submits WorkflowTemplate
WorkflowEventBinding
:ballot_box_with_check:
Build the CLI
WorkflowTemplate
:ballot_box_with_check:
Build images using Buildkit - Push images to Docker Hub
WorkflowTemplate
:ballot_box_with_check:
Run unit tests and collect test report
WorkflowTemplate
:ballot_box_with_check:
Run coverage and collect report
WorkflowTemplate
:ballot_box_with_check:
Deploy to a cluster
WorkflowTemplate
:ballot_box_with_check:
Run basic E2E tests and collect report
WorkflowTemplate
:ballot_box_with_check:
Pipeline
Description
Resource
Status
Combine CI and CD jobs with an approval step
WorkflowTemplate
:ballot_box_with_check:
CD
Description
Resource
Status
Tag and push tag
WorkflowTemplate
:ballot_box_with_check:
Update deployment manifests using kustomize edit set image
WorkflowTemplate
:ballot_box_with_check:
Commit deployment manifests
WorkflowTemplate
:ballot_box_with_check:
Start Argo CD sync step
WorkflowTemplate
:ballot_box_with_check:
Documentation & Configuration
Description
Resource
Status
CI, CD, & Pipeline Documentation
Comments
:ballot_box_with_check:
Service Account for WorkflowEventBinding
ServiceAccount
:ballot_box_with_check:
$ARGO_TOKEN - Bearer Authorization for WorkflowEventBinding
Secret
:ballot_box_with_check:
Role to submit workflow templates for WorkflowEventBinding
Role
:ballot_box_with_check:
RoleBinding the Role to the ServiceAccount for WorkflowEventBinding
A detailed example for implementing CI/CD pipelines to build Argo Workflows using Argo Workflows
Fixes #8591
Motivation
This issue was more than 2 years old and I wanted to contribute to the project. I also work with Argo Workflows everyday and I'm CAPA certified (Certified Argo Project Associate).
Modifications
WorkflowTemplate
example includes:CI
WorkflowTemplate
WorkflowEventBinding
WorkflowTemplate
WorkflowTemplate
WorkflowTemplate
WorkflowTemplate
WorkflowTemplate
WorkflowTemplate
Pipeline
WorkflowTemplate
CD
WorkflowTemplate
kustomize edit set image
WorkflowTemplate
WorkflowTemplate
WorkflowTemplate
Documentation & Configuration
WorkflowEventBinding
ServiceAccount
$ARGO_TOKEN
- Bearer Authorization forWorkflowEventBinding
Secret
WorkflowEventBinding
Role
RoleBinding
theRole
to theServiceAccount
forWorkflowEventBinding
RoleBinding
Secret
Secret
Secret
NetworkPolicy
Verification
Thoroughly tested the workflow:
[x] E2E Workflow
[x] Workflow steps
clone-repo
build-cli
create-exec-image
create-cli-image
run-tests
run-coverage
prepare-deploy-to-cluster-e2e-test
approval
docker-tag-push
update-manifests
commit-manifests
start-argocd-sync