apiVersion: tekton.dev/v1alpha1
kind: Pipeline
metadata:
  name: application-pipeline
  namespace: tekton-pipeline-istio-project-1
spec:
  resources:
    - name: git-master
      type: git
    - name: git-experimental
      type: git
  tasks:
  - name: build-and-push-a
    taskRef:
      name: build-and-push
    params:
      - name: context
        value: "serverA"
      - name: image-name
        value: "server-a"
      - name: version
        value: "master"
    resources:
      inputs:
        - name: git-source
          resource: git-master
  - name: build-and-push-b-stable
    taskRef:
      name: build-and-push
    runAfter:
      - build-and-push-a
    params:
      - name: context
        value: "serverB"
      - name: image-name
        value: "server-b"
      - name: version
        value: "master"
    resources:
      inputs:
        - name: git-source
          resource: git-master
  - name: build-and-push-b-experimental
    taskRef:
      name: build-and-push
    runAfter:
      - build-and-push-b-stable
    params:
      - name: context
        value: "serverB"
      - name: image-name
        value: "server-b"
      - name: version
        value: "experimental"
    resources:
      inputs:
        - name: git-source
          resource: git-experimental
  - name: build-and-push-d
    taskRef:
      name: build-and-push
    runAfter:
      - build-and-push-b-experimental
    params:
      - name: context
        value: "serverD"
      - name: image-name
        value: "server-d"
      - name: version
        value: "master"
    resources:
      inputs:
        - name: git-source
          resource: git-master
  - name: deploy-application
    taskRef:
      name: deploy-application
    runAfter:
      - build-and-push-d
    resources:
      inputs:
        - name: git-source
          resource: git-master
