|
@@ -1,83 +1,83 @@
|
|
-apiVersion: argoproj.io/v1alpha1
|
|
|
|
-kind: WorkflowTemplate
|
|
|
|
-metadata:
|
|
|
|
- name: ci-workflow
|
|
|
|
-spec:
|
|
|
|
- inputs:
|
|
|
|
- parameters:
|
|
|
|
- - name: revision
|
|
|
|
- steps:
|
|
|
|
- - - name: build
|
|
|
|
- template: build-golang-example
|
|
|
|
- arguments:
|
|
|
|
- parameters:
|
|
|
|
- - name: revision
|
|
|
|
- value: "{{inputs.parameters.revision}}"
|
|
|
|
- # the test step expands into three parallel steps running
|
|
|
|
- # different operating system images. each mounts the workdir
|
|
|
|
- # and runs the compiled binary from the build step.
|
|
|
|
- - - name: test
|
|
|
|
- template: run-hello
|
|
|
|
- arguments:
|
|
|
|
- parameters:
|
|
|
|
- - name: os-image
|
|
|
|
- value: "{{item.image}}:{{item.tag}}"
|
|
|
|
- withItems:
|
|
|
|
- - { image: "debian", tag: "9.1" }
|
|
|
|
- - { image: "alpine", tag: "3.6" }
|
|
|
|
- - { image: "ubuntu", tag: "17.10" }
|
|
|
|
----
|
|
|
|
-apiVersion: argoproj.io/v1alpha1
|
|
|
|
-kind: WorkflowTemplate
|
|
|
|
-metadata:
|
|
|
|
- name: build-golang-example
|
|
|
|
-spec:
|
|
|
|
- inputs:
|
|
|
|
- parameters:
|
|
|
|
- - name: revision
|
|
|
|
- artifacts:
|
|
|
|
- - name: code
|
|
|
|
- path: /go/src/github.com/golang/example
|
|
|
|
- git:
|
|
|
|
- repo: https://github.com/golang/example.git
|
|
|
|
- revision: "{{inputs.parameters.revision}}"
|
|
|
|
- container:
|
|
|
|
- image: golang:1.8
|
|
|
|
- command: [sh, -c]
|
|
|
|
- args: [
|
|
|
|
- "
|
|
|
|
- cd /go/src/github.com/golang/example/hello &&
|
|
|
|
- git status &&
|
|
|
|
- go build -v .
|
|
|
|
- ",
|
|
|
|
- ]
|
|
|
|
- volumeMounts:
|
|
|
|
- - name: workdir
|
|
|
|
- mountPath: /go
|
|
|
|
|
|
+# apiVersion: argoproj.io/v1alpha1
|
|
|
|
+# kind: WorkflowTemplate
|
|
|
|
+# metadata:
|
|
|
|
+# name: ci-workflow
|
|
|
|
+# spec:
|
|
|
|
+# inputs:
|
|
|
|
+# parameters:
|
|
|
|
+# - name: revision
|
|
|
|
+# steps:
|
|
|
|
+# - - name: build
|
|
|
|
+# template: build-golang-example
|
|
|
|
+# arguments:
|
|
|
|
+# parameters:
|
|
|
|
+# - name: revision
|
|
|
|
+# value: "{{inputs.parameters.revision}}"
|
|
|
|
+# # the test step expands into three parallel steps running
|
|
|
|
+# # different operating system images. each mounts the workdir
|
|
|
|
+# # and runs the compiled binary from the build step.
|
|
|
|
+# - - name: test
|
|
|
|
+# template: run-hello
|
|
|
|
+# arguments:
|
|
|
|
+# parameters:
|
|
|
|
+# - name: os-image
|
|
|
|
+# value: "{{item.image}}:{{item.tag}}"
|
|
|
|
+# withItems:
|
|
|
|
+# - { image: "debian", tag: "9.1" }
|
|
|
|
+# - { image: "alpine", tag: "3.6" }
|
|
|
|
+# - { image: "ubuntu", tag: "17.10" }
|
|
|
|
+# ---
|
|
|
|
+# apiVersion: argoproj.io/v1alpha1
|
|
|
|
+# kind: WorkflowTemplate
|
|
|
|
+# metadata:
|
|
|
|
+# name: build-golang-example
|
|
|
|
+# spec:
|
|
|
|
+# inputs:
|
|
|
|
+# parameters:
|
|
|
|
+# - name: revision
|
|
|
|
+# artifacts:
|
|
|
|
+# - name: code
|
|
|
|
+# path: /go/src/github.com/golang/example
|
|
|
|
+# git:
|
|
|
|
+# repo: https://github.com/golang/example.git
|
|
|
|
+# revision: "{{inputs.parameters.revision}}"
|
|
|
|
+# container:
|
|
|
|
+# image: golang:1.8
|
|
|
|
+# command: [sh, -c]
|
|
|
|
+# args: [
|
|
|
|
+# "
|
|
|
|
+# cd /go/src/github.com/golang/example/hello &&
|
|
|
|
+# git status &&
|
|
|
|
+# go build -v .
|
|
|
|
+# ",
|
|
|
|
+# ]
|
|
|
|
+# volumeMounts:
|
|
|
|
+# - name: workdir
|
|
|
|
+# mountPath: /go
|
|
|
|
|
|
----
|
|
|
|
-apiVersion: argoproj.io/v1alpha1
|
|
|
|
-kind: WorkflowTemplate
|
|
|
|
-metadata:
|
|
|
|
- name: run-hello
|
|
|
|
-spec:
|
|
|
|
- inputs:
|
|
|
|
- parameters:
|
|
|
|
- - name: os-image
|
|
|
|
- container:
|
|
|
|
- image: "{{inputs.parameters.os-image}}"
|
|
|
|
- command: [sh, -c]
|
|
|
|
- args: [
|
|
|
|
- "
|
|
|
|
- uname -a ;
|
|
|
|
- cat /etc/os-release ;
|
|
|
|
- /go/src/github.com/golang/example/hello/hello
|
|
|
|
- ",
|
|
|
|
- ]
|
|
|
|
- volumeMounts:
|
|
|
|
- - name: workdir
|
|
|
|
- mountPath: /go
|
|
|
|
----
|
|
|
|
|
|
+# ---
|
|
|
|
+# apiVersion: argoproj.io/v1alpha1
|
|
|
|
+# kind: WorkflowTemplate
|
|
|
|
+# metadata:
|
|
|
|
+# name: run-hello
|
|
|
|
+# spec:
|
|
|
|
+# inputs:
|
|
|
|
+# parameters:
|
|
|
|
+# - name: os-image
|
|
|
|
+# container:
|
|
|
|
+# image: "{{inputs.parameters.os-image}}"
|
|
|
|
+# command: [sh, -c]
|
|
|
|
+# args: [
|
|
|
|
+# "
|
|
|
|
+# uname -a ;
|
|
|
|
+# cat /etc/os-release ;
|
|
|
|
+# /go/src/github.com/golang/example/hello/hello
|
|
|
|
+# ",
|
|
|
|
+# ]
|
|
|
|
+# volumeMounts:
|
|
|
|
+# - name: workdir
|
|
|
|
+# mountPath: /go
|
|
|
|
+# ---
|
|
apiVersion: argoproj.io/v1alpha1
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: Sensor
|
|
kind: Sensor
|
|
metadata:
|
|
metadata:
|
|
@@ -102,35 +102,124 @@ spec:
|
|
operation: create
|
|
operation: create
|
|
source:
|
|
source:
|
|
resource:
|
|
resource:
|
|
|
|
+#-------------------------------------------
|
|
apiVersion: argoproj.io/v1alpha1
|
|
apiVersion: argoproj.io/v1alpha1
|
|
kind: Workflow
|
|
kind: Workflow
|
|
metadata:
|
|
metadata:
|
|
- generateName: github-
|
|
|
|
- # generateName: ci-workflow-
|
|
|
|
|
|
+ generateName: ci-output-artifact-
|
|
spec:
|
|
spec:
|
|
- serviceAccountName: workflow
|
|
|
|
- entrypoint: whalesay
|
|
|
|
- # entrypoint: ci-workflow
|
|
|
|
- # workflowTemplateRef:
|
|
|
|
- # name: ci-workflow
|
|
|
|
- arguments:
|
|
|
|
- parameters:
|
|
|
|
- - name: message
|
|
|
|
- # value will get overridden by the event payload
|
|
|
|
- value: hello world
|
|
|
|
|
|
+ entrypoint: ci-example
|
|
|
|
+ # a temporary volume, named workdir, will be used as a working
|
|
|
|
+ # directory for this workflow. This volume is passed around
|
|
|
|
+ # from step to step.
|
|
|
|
+ volumeClaimTemplates:
|
|
|
|
+ - metadata:
|
|
|
|
+ name: workdir
|
|
|
|
+ spec:
|
|
|
|
+ accessModes: [ "ReadWriteOnce" ]
|
|
|
|
+ resources:
|
|
|
|
+ requests:
|
|
|
|
+ storage: 1Gi
|
|
|
|
+
|
|
templates:
|
|
templates:
|
|
- - name: whalesay
|
|
|
|
|
|
+ - name: ci-example
|
|
|
|
+ steps:
|
|
|
|
+ - - name: build
|
|
|
|
+ template: build-golang-example
|
|
|
|
+ # the test step expands into three parallel steps running
|
|
|
|
+ # different operating system images. each mounts the workdir
|
|
|
|
+ # and runs the compiled binary from the build step.
|
|
|
|
+ - - name: test
|
|
|
|
+ template: run-hello
|
|
|
|
+ arguments:
|
|
|
|
+ parameters:
|
|
|
|
+ - name: os-image
|
|
|
|
+ value: "{{item.image}}:{{item.tag}}"
|
|
|
|
+ withItems:
|
|
|
|
+ - { image: 'debian', tag: '9.1' }
|
|
|
|
+ - { image: 'alpine', tag: '3.6' }
|
|
|
|
+ - { image: 'ubuntu', tag: '17.10' }
|
|
|
|
+ - - name: release
|
|
|
|
+ template: release-artifact
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ - name: build-golang-example
|
|
|
|
+ inputs:
|
|
|
|
+ artifacts:
|
|
|
|
+ - name: code
|
|
|
|
+ path: /go/src/github.com/golang/example
|
|
|
|
+ git:
|
|
|
|
+ repo: https://github.com/golang/example.git
|
|
|
|
+ container:
|
|
|
|
+ image: golang:1.8
|
|
|
|
+ command: [sh, -c]
|
|
|
|
+ args: ["
|
|
|
|
+ cd /go/src/github.com/golang/example/hello &&
|
|
|
|
+ go build -v .
|
|
|
|
+ "]
|
|
|
|
+ volumeMounts:
|
|
|
|
+ - name: workdir
|
|
|
|
+ mountPath: /go
|
|
|
|
+ - name: run-hello
|
|
inputs:
|
|
inputs:
|
|
parameters:
|
|
parameters:
|
|
- - name: message
|
|
|
|
|
|
+ - name: os-image
|
|
container:
|
|
container:
|
|
- image: docker/whalesay:latest
|
|
|
|
- command: [cowsay]
|
|
|
|
- args: ["{{inputs.parameters.message}}"]
|
|
|
|
|
|
+ image: "{{inputs.parameters.os-image}}"
|
|
|
|
+ command: [sh, -c]
|
|
|
|
+ args: ["
|
|
|
|
+ uname -a ;
|
|
|
|
+ cat /etc/os-release ;
|
|
|
|
+ /go/src/github.com/golang/example/hello/hello
|
|
|
|
+ "]
|
|
|
|
+ volumeMounts:
|
|
|
|
+ - name: workdir
|
|
|
|
+ mountPath: /go
|
|
|
|
+ - name: release-artifact
|
|
|
|
+ container:
|
|
|
|
+ image: alpine:3.8
|
|
|
|
+ volumeMounts:
|
|
|
|
+ - name: workdir
|
|
|
|
+ mountPath: /go
|
|
|
|
+ outputs:
|
|
|
|
+ artifacts:
|
|
|
|
+ - name: release
|
|
|
|
+ path: /go
|
|
|
|
+ # apiVersion: argoproj.io/v1alpha1
|
|
|
|
+ # kind: Workflow
|
|
|
|
+ # metadata:
|
|
|
|
+ # generateName: github-
|
|
|
|
+ # # generateName: ci-workflow-
|
|
|
|
+ # spec:
|
|
|
|
+ # serviceAccountName: workflow
|
|
|
|
+ # entrypoint: whalesay
|
|
|
|
+ # # entrypoint: ci-workflow
|
|
|
|
+ # # workflowTemplateRef:
|
|
|
|
+ # # name: ci-workflow
|
|
|
|
+ # arguments:
|
|
|
|
+ # parameters:
|
|
|
|
+ # - name: message
|
|
|
|
+ # # value will get overridden by the event payload
|
|
|
|
+ # value: hello world
|
|
|
|
+ # templates:
|
|
|
|
+ # - name: whalesay
|
|
|
|
+ # inputs:
|
|
|
|
+ # parameters:
|
|
|
|
+ # - name: message
|
|
|
|
+ # container:
|
|
|
|
+ # image: docker/whalesay:latest
|
|
|
|
+ # command: [cowsay]
|
|
|
|
+ # args: ["{{inputs.parameters.message}}"]
|
|
parameters:
|
|
parameters:
|
|
- src:
|
|
- src:
|
|
dependencyName: test-dep
|
|
dependencyName: test-dep
|
|
dest: spec.arguments.parameters.0.value
|
|
dest: spec.arguments.parameters.0.value
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+#-------------------------------------------
|
|
# - template:
|
|
# - template:
|
|
# name: github-workflow-trigger
|
|
# name: github-workflow-trigger
|
|
# k8s:
|
|
# k8s:
|