fibonacci_pipeline/argo-workflows/example-ci-workflow.yaml
2024-10-21 13:29:04 +02:00

76 lines
No EOL
2.2 KiB
YAML

apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: example-ci-workflow-
namespace: argo
labels:
workflows.argoproj.io/archive-strategy: "false"
annotations:
workflows.argoproj.io/description: |
This is a simple workflow to show what steps we need to take to deploy an application.
spec:
entrypoint: ci
serviceAccountName: admin
volumes:
- name: shared-data
emptyDir: {}
templates:
- name: ci
dag:
tasks:
- name: git-clone
template: git clone
arguments:
parameters: [{name: message, value: "git-clone task completed"}]
- name: ls
template: ls
dependencies: [git-clone]
- name: build
template: simple-container
arguments:
parameters: [{name: message, value: "build task completed"}]
dependencies: [unit-tests, lint-scan]
- name: unit-tests
template: simple-container
arguments:
parameters: [{name: message, value: "unit-tests task completed"}]
dependencies: [ls]
- name: lint-scan
template: simple-container
arguments:
parameters: [{name: message, value: "lint-scan task completed"}]
dependencies: [ls]
- name: trivy-image-scan
template: simple-container
arguments:
parameters: [{name: message, value: "trivy-image-scan task completed"}]
dependencies: [build]
- name: trivy-filesystem-scan
template: simple-container
arguments:
parameters: [{name: message, value: "trivy-filesystem-scan task completed"}]
dependencies: [git-clone]
- name: push-image
template: simple-container
arguments:
parameters: [{name: message, value: "push-image task completed"}]
# when: " == true"
dependencies: [trivy-image-scan, trivy-filesystem-scan]
- name: simple-container
inputs:
parameters:
- name: message
container:
image: alpine:latest
command: [sh, -c]
args: ["echo {{inputs.parameters.message}}"]
- name: ls
container:
image: alpine:latest
command: [sh, -c]
args: [ls /]
- name: git-clone