73 lines
No EOL
2.2 KiB
YAML
73 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: simple-container
|
|
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 /] |