EUGENIO SOUZA CARVALHO 3 years ago
parent
commit
458f22c67c
1 changed files with 185 additions and 96 deletions
  1. 185 96
      argoworkflow/workflow/040-sensor-github.yaml

+ 185 - 96
argoworkflow/workflow/040-sensor-github.yaml

@@ -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
 kind: Sensor
 metadata:
@@ -102,35 +102,124 @@ spec:
           operation: create
           source:
             resource:
+#-------------------------------------------              
               apiVersion: argoproj.io/v1alpha1
               kind: Workflow
               metadata:
-                generateName: github-
-                # generateName: ci-workflow-
+                generateName: ci-output-artifact-
               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:
-                - 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:
                     parameters:
-                    - name: message
+                    - name: os-image
                   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:
             - src:
                 dependencyName: test-dep
               dest: spec.arguments.parameters.0.value
+
+
+
+
+
+#-------------------------------------------              
     # - template:
     #     name: github-workflow-trigger
     #     k8s: