# 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: Sensor metadata: name: github spec: template: serviceAccountName: argo-events-sa dependencies: - name: test-dep gatewayName: github eventName: example subscription: http: port: 9300 triggers: - template: name: github-workflow-trigger k8s: group: argoproj.io version: v1alpha1 resource: workflows operation: create source: resource: #------------------------------------------- apiVersion: argoproj.io/v1alpha1 kind: Workflow metadata: generateName: ci-output-artifact- spec: 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: - 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: 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 - 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: - src: dependencyName: test-dep dest: spec.arguments.parameters.0.value #------------------------------------------- # - template: # name: github-workflow-trigger # k8s: # group: argoproj.io # version: v1alpha1 # resource: workflows # operation: create # source: # resource: # apiVersion: argoproj.io/v1alpha1 # kind: Workflow # metadata: # generateName: github- # spec: # serviceAccountName: workflow # entrypoint: whalesay # 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: # - src: # dependencyName: test-dep # dest: spec.arguments.parameters.0.value # --- daqui pra baixo # apiVersion: argoproj.io/v1alpha1 # kind: Sensor # metadata: # name: github # namespace: argo-events # spec: # template: # serviceAccountName: argo-events-sa # dependencies: # - name: test-dep # gatewayName: github # eventName: example # subscription: # http: # port: 9300 # triggers: # - template: # name: github-workflow-trigger # k8s: # group: argoproj.io # version: v1alpha1 # resource: workflows # operation: create # source: # resource: # apiVersion: argoproj.io/v1alpha1 # kind: Workflow # metadata: # generateName: github- # spec: # # serviceAccountName: workflow # entrypoint: whalesay # 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: # - src: # dependencyName: test-dep # dest: spec.arguments.parameters.0.value # # triggers: # # - template: # # name: github-workflow-trigger # # k8s: # # group: argoproj.io # # version: v1alpha1 # # resource: workflows # # operation: create # # source: # # resource: # # apiVersion: argoproj.io/v1alpha1 # # kind: Workflow # # metadata: # # generateName: ci-workflow- # # spec: # # # ttlStrategy: # # # secondsAfterCompletion: 10 # Time to live after workflow is completed, replaces ttlSecondsAfterFinished # # # secondsAfterSuccess: 5 # Time to live after workflow is successful # # # secondsAfterFailure: 5 # Time to live after workflow fails # # serviceAccountName: workflow # # # entrypoint: ci-workflow # # # entrypoint is the name of the template used as the starting point of the workflow # # entrypoint: ci-workflow # # workflowTemplateRef: # # name: ci-workflow # # # the 'ci-workflow' template accepts an parameter 'revision', with a default of 'master'. # # # this can be overridden via argo CLI (e.g. `argo submit ci.yaml -p revision=0dea2d0`) # # arguments: # # parameters: # # - name: revision # # value: master # # # 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 # # parameters: # # - src: # # dependencyName: test-dep # # dest: spec.arguments.parameters.0.value