EUGENIO SOUZA CARVALHO 4 tahun lalu
induk
melakukan
a7461b0da9
2 mengubah file dengan 120 tambahan dan 21 penghapusan
  1. 112 21
      argoworkflow/030-sensor-github.yaml
  2. 8 0
      kubedashboard/kubernets.code-workspace

+ 112 - 21
argoworkflow/030-sensor-github.yaml

@@ -1,4 +1,85 @@
 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
@@ -23,27 +104,37 @@ spec:
           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}}"]
+            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

+ 8 - 0
kubedashboard/kubernets.code-workspace

@@ -0,0 +1,8 @@
+{
+	"folders": [
+		{
+			"path": "/media/dados/workspace/testes/teste"
+		}
+	],
+	"settings": {}
+}