tekton pipelineresource资源

 欢迎关注我的公众号:

 目前刚开始写一个月,一共写了18篇原创文章,文章目录如下:

istio多集群探秘,部署了50次多集群后我得出的结论

istio多集群链路追踪,附实操视频

istio防故障利器,你知道几个,istio新手不要读,太难!

istio业务权限控制,原来可以这么玩

istio实现非侵入压缩,微服务之间如何实现压缩

不懂envoyfilter也敢说精通istio系列-http-rbac-不要只会用AuthorizationPolicy配置权限

不懂envoyfilter也敢说精通istio系列-02-http-corsFilter-不要只会vs

不懂envoyfilter也敢说精通istio系列-03-http-csrf filter-再也不用再代码里写csrf逻辑了

不懂envoyfilter也敢说精通istio系列http-jwt_authn-不要只会RequestAuthorization

不懂envoyfilter也敢说精通istio系列-05-fault-filter-故障注入不止是vs

不懂envoyfilter也敢说精通istio系列-06-http-match-配置路由不只是vs

不懂envoyfilter也敢说精通istio系列-07-负载均衡配置不止是dr

不懂envoyfilter也敢说精通istio系列-08-连接池和断路器

不懂envoyfilter也敢说精通istio系列-09-http-route filter

不懂envoyfilter也敢说精通istio系列-network filter-redis proxy

不懂envoyfilter也敢说精通istio系列-network filter-HttpConnectionManager

不懂envoyfilter也敢说精通istio系列-ratelimit-istio ratelimit完全手册

 

tekton新课发布:ci/cd之tekton实战--其他视频教程-系统/网络/运维-CSDN程序员研修院

什么是PipelineResource

表示pipeline input资源,比如github上的源码,或者pipeline output资源,例如一个容器镜像或者构建生成的jar包等。

资源详解

type

Git Resource

Image Resource

pipelineresource/git/sa.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
  name: test-task-robot-git-ssh
secrets:
  - name: registry-secret

kubectl create secret docker-registry registry-secret \
       --docker-server=registry.cn-beijing.aliyuncs.com \
       --docker-username=195446040@qq.com \
       --docker-password=123456 -n tekton 
       
kubectl create clusterrolebinding cluster-admin-test-task --clusterrole=cluster-admin --serviceaccount=tekton:test-task-robot-git-ssh -n tekton

pipelineresource/git/res-image.yaml

apiVersion: tekton.dev/v1alpha1
kind: PipelineResource
metadata:
  name: my-image
spec:
  type: image
  params:
  - name: url
    value: registry.cn-beijing.aliyuncs.com/hxpdocker/testimage

pipelineresource/git/res-git.yaml

apiVersion: tekton.dev/v1alpha1
kind: PipelineResource
metadata:
  name: workspace
spec:
  type: git
  params:
  - name: url
    value: https://codechina.csdn.net/hxpjava1/test.git
  - name: revision
    value: master

pipelineresource/git/task-build-push-kaniko.yaml

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: build-push-kaniko
spec:
  resources:
    inputs:
    - name: workspace
      type: git
    outputs:
    - name: builtImage
      type: image
  params:
    - name: pathToDockerFile
      description: The path to the dockerfile to build
      default: /workspace/workspace/Dockerfile
    - name: pathToContext
      description: The build context used by Kaniko
      default: /workspace/workspace
  steps:
  - name: build-and-push
    image: registry.us-west-1.aliyuncs.com/hxpapp/kaniko-executor:latest
    #env:
    #- name: "DOCKER_CONFIG"
    #  value: "/tekton/home/.docker/"
    args:
    - --dockerfile=$(inputs.params.pathToDockerFile)
    - --destination=$(outputs.resources.builtImage.url)
    - --context=$(inputs.params.pathToContext)
    - --oci-layout-path=$(inputs.resources.builtImage.path)
    securityContext:
      runAsUser: 0
    volumeMounts:
      - name: kaniko-secret
        mountPath: /kaniko/.docker/
  volumes:
    - name: kaniko-secret
      secret:
        secretName: registry-secret
        items:
          - key: .dockerconfigjson
            path: config.json
      

pipelineresource/git/task-kubectl-deploy.yaml

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: kubectl-deploy
spec:
  params:
    - name: script_body
      type: string
      #default: "kubectl apply -f deployment.yaml -n tekton"
  resources:
    inputs:
      - name: image
        type: image
      - name: workspace
        type: git
  steps:
    - name: kubectl-deploy
      image: registry.cn-shanghai.aliyuncs.com/hxpdocker/kubectl:latest
      script: |
        $(params.script_body)

pipelineresource/git/pipeline-my.yaml

apiVersion: tekton.dev/v1beta1
kind: Pipeline
metadata:
  name: mypipeline
spec:
  tasks:
  - name: build-app
    taskRef:
      name: build-push-kaniko
    resources:
      inputs:
      - name: workspace
        resource: workspace
      outputs:
      - name: builtImage
        resource: my-image
  - name: deploy-app
    taskRef:
      name: kubectl-deploy
    resources:
      inputs:
      - name: workspace
        resource: workspace
      - name: image
        resource: my-image
        from:
          - build-app
    params:
    - name: script_body
      value: $(params.script_body_pipeline)
  params:
  - name: script_body_pipeline
    type: string
  resources:
    - name: workspace
      type: git
    - name: my-image
      type: image
    

pipelineresource/git/pipelinerun-my.yaml

apiVersion: tekton.dev/v1beta1
kind: PipelineRun
metadata:
  generateName: mypipeline-run
spec:
  serviceAccountName: test-task-robot-git-ssh
  pipelineRef:
    name: mypipeline
  params:
  - name: script_body_pipeline
    value: "kubectl apply -f /workspace/workspace/deployment.yaml "
  resources:
    - name: workspace
      resourceRef: 
        name: workspace
    - name: my-image
      resourceRef: 
        name: my-image

Pull Request Resource

pipelineresource/pullrequest/basic-user-pass.yaml

apiVersion: v1
kind: Secret
metadata:
  name: basic-user-pass
  annotations:
    tekton.dev/git-0: https://github.com # Described below
type: kubernetes.io/basic-auth
stringData:
  username: "13567436138"
  password: "123456"

pipelineresource/pullrequest/build-bot.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
  name: build-bot
secrets:
  - name: basic-user-pass

pipelineresource/pullrequest/res-pr.yaml

apiVersion: tekton.dev/v1alpha1
kind: PipelineResource
metadata:
  name: pr
spec:
  type: pullRequest
  params:
    - name: url
      value: https://github.com/tektoncd/pipeline/pull/3976
    - name: provider
      value: github
  secrets:
    - fieldName: authToken
      secretName: github-secrets
      secretKey: token

pipelineresource/pullrequest/secret-github.yaml

apiVersion: v1
kind: Secret
metadata:
  name: github-secrets
type: Opaque
data:
  token: Z2hwXzgyYm13bjZ6czZ2Y1JQbGp6VlkyN1ZvUFc2WkhMQzNNcERsOQo=

pipelineresource/pullrequest/task-my.yaml

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: task-my
spec:
  resources:
    inputs:
      - name: pr
        type: pullRequest
  steps:
    - name: build-war
      image: busybox
      script: |
        #!/usr/bin/env bash
        ls /workspace/pr

pipelineresource/pullrequest/taskrun-my.yaml

apiVersion: tekton.dev/v1beta1
kind: TaskRun
metadata:
  generateName: taskrun-my-
spec:
  serviceAccountName: build-bot
  taskRef:
    name: task-my
  resources:
    inputs:
    - name: pr
      resourceRef:
        name: pr

Cluster Resource

pipelineresource/cluster/res-git.yaml

apiVersion: tekton.dev/v1alpha1
kind: PipelineResource
metadata:
  name: workspace
spec:
  type: git
  params:
  - name: url
    value: https://codechina.csdn.net/hxpjava1/test.git
  - name: revision
    value: master

pipelineresource/cluster/res-test-cluster.yaml

apiVersion: tekton.dev/v1alpha1
kind: PipelineResource
metadata:
  name: test-cluster
spec:
  type: cluster
  params:
    - name: url
      value: https://192.168.198.154:6443
    - name: cadata
      value: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUR1RENDQXFDZ0F3SUJBZ0lVQ1NZRVlnZW92QWlvbEhqUzl1V1lKRmdKSW1nd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1lURUxNQWtHQTFVRUJoTUNRMDR4RVRBUEJnTlZCQWdUQ0VoaGJtZGFhRzkxTVFzd0NRWURWUVFIRXdKWQpVekVNTUFvR0ExVUVDaE1EYXpoek1ROHdEUVlEVlFRTEV3WlRlWE4wWlcweEV6QVJCZ05WQkFNVENtdDFZbVZ5CmJtVjBaWE13SUJjTk1qRXdOREF4TURrMU1qQXdXaGdQTWpFeU1UQXpNRGd3T1RVeU1EQmFNR0V4Q3pBSkJnTlYKQkFZVEFrTk9NUkV3RHdZRFZRUUlFd2hJWVc1bldtaHZkVEVMTUFrR0ExVUVCeE1DV0ZNeEREQUtCZ05WQkFvVApBMnM0Y3pFUE1BMEdBMVVFQ3hNR1UzbHpkR1Z0TVJNd0VRWURWUVFERXdwcmRXSmxjbTVsZEdWek1JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXJqVmFmSDR6V0pDaksyRjY5R3VNTytVRmNVS3cKZWQ3enlSaHBhZlR6ZzkzTkZQNUFaSHkwMlJvdWUxWWRtVXpxVjJZczRiaVVLUlRLbFc2NWJQRGxBeklSalFiNApiYS9aYTgxUllpVWZ5ZndaSGpTMjdmQ0xsVGp3WlFIaHJCZS9xYUE4dzdHb0Q0Mm8rT1dXYk9JeVB3c3p4TmJ3CjVxOVFObHJVY3dLV3ZTZnozTGV1ZEVBQmNZWEd4NmppbndOZU5aYkxvM0NCMi9STEw1M0prdk5hTlU5bUltOGUKUlZnTkNOZ3BPWHREeWJJdXQyTTh6SWFERGU0d3dWVzVLLzlIZHMvOTkrUlNrTnJZcnBRYkpVekk3UnZsaGl5Rwppckc4bW5pRTBXQnVSZCtseXJFQ1hZaDBOeFlJSnFjcFViUnBjRXRUaXk3MWdsWitKVVlsVWErb1FRSURBUUFCCm8yWXdaREFPQmdOVkhROEJBZjhFQkFNQ0FRWXdFZ1lEVlIwVEFRSC9CQWd3QmdFQi93SUJBakFkQmdOVkhRNEUKRmdRVWJUS0c1UmR3UE9VMDJFK2sxcW1FSWtJSHZNY3dId1lEVlIwakJCZ3dGb0FVYlRLRzVSZHdQT1UwMkUrawoxcW1FSWtJSHZNY3dEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBSmZMUEo4SVhoV1hzSkR2UnlsQiszQTA3eWVZCnRvZDVGeVpieElPWFA4OUFCb3VvellwclNRYXFSTFIxY0lZeEVDTkx4ZEhQcjQ5VjZZOW1BM016NzAyUjk5bmIKQTY4eXVqMHNtMml5Qmlud0JaSUh3SlY2RllZTWRsdk8zRUE1aXpRSWduSkxCNW1vc0JPYnhMZmV0YUlHTnVEaApGR1ZGZzNhRDk1Y094KzlyenV6amthMFh3T29WRUVNS0I4WHRpMHhLME4xK1RCano2V3MzL0psN2orME5JazVOCjZmUnNLN0Q1NlB4d3VxR1Y2dk41WFJ0N3NhZHNod2tpTnFoL0haekRhTjlxcWRRQnRXVE1LRERsc1VWTTg1WmEKNDVwaElpNHV4dVhuYUhyMkJCeXdjaGEwalYramMyNUFhRFU2bm1HQ0dZZ1NkNWhaYlVJQ2hHR2l5Wnc9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
    - name: token
      value: eyJhbGciOiJSUzI1NiIsImtpZCI6IjV2Ny1kcmNpMXpITzhKRU5aaV9KOGx5OGotLTFPc1hpUDVLQlhhUFJESEkifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJ0ZWt0b24iLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlY3JldC5uYW1lIjoidGVzdC10YXNrLXJvYm90LWdpdC1zc2gtdG9rZW4tamIydGIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoidGVzdC10YXNrLXJvYm90LWdpdC1zc2giLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJhYmQyMTM2My1mMTQyLTRiZjQtOWY1Yy1hMDAwOGI1ZGVkYTYiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6dGVrdG9uOnRlc3QtdGFzay1yb2JvdC1naXQtc3NoIn0.jCuclt66msTO-tw_qVCZYCckATL5wjbvBi7Fui6e5EQRjwUkv6luNrv5C_TTH6EOchfRtW0-QIxvf433USZCMTam06eahfMbtRv2DlrgBIyR3ZdSADh6dRaOlnTKI4COw1GU0UKpayBTM8N7ItQgi4c-JBYdDXy-WEhMhg2L4VPCY5kv4clkUzasHcyWh9lNdu_AKT0OXA5QArNjJXKLGJgYjyhIyPfBCZdMGcS50RZvWb25QXIFIkoQl9MDpMiaFJaAL8kedhhLESDT1KnBG6-C-KEDWVuNNFgKrh_VcU4LEZURv4coDIdPDDuEQ1IUYrO5TpDwngwwTXwTtBZWpA

pipelineresource/cluster/target-cluster-secrets.yaml

apiVersion: v1
kind: Secret
metadata:
  name: target-cluster-secrets
data:
  cadatakey: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUR1RENDQXFDZ0F3SUJBZ0lVQ1NZRVlnZW92QWlvbEhqUzl1V1lKRmdKSW1nd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1lURUxNQWtHQTFVRUJoTUNRMDR4RVRBUEJnTlZCQWdUQ0VoaGJtZGFhRzkxTVFzd0NRWURWUVFIRXdKWQpVekVNTUFvR0ExVUVDaE1EYXpoek1ROHdEUVlEVlFRTEV3WlRlWE4wWlcweEV6QVJCZ05WQkFNVENtdDFZbVZ5CmJtVjBaWE13SUJjTk1qRXdOREF4TURrMU1qQXdXaGdQTWpFeU1UQXpNRGd3T1RVeU1EQmFNR0V4Q3pBSkJnTlYKQkFZVEFrTk9NUkV3RHdZRFZRUUlFd2hJWVc1bldtaHZkVEVMTUFrR0ExVUVCeE1DV0ZNeEREQUtCZ05WQkFvVApBMnM0Y3pFUE1BMEdBMVVFQ3hNR1UzbHpkR1Z0TVJNd0VRWURWUVFERXdwcmRXSmxjbTVsZEdWek1JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXJqVmFmSDR6V0pDaksyRjY5R3VNTytVRmNVS3cKZWQ3enlSaHBhZlR6ZzkzTkZQNUFaSHkwMlJvdWUxWWRtVXpxVjJZczRiaVVLUlRLbFc2NWJQRGxBeklSalFiNApiYS9aYTgxUllpVWZ5ZndaSGpTMjdmQ0xsVGp3WlFIaHJCZS9xYUE4dzdHb0Q0Mm8rT1dXYk9JeVB3c3p4TmJ3CjVxOVFObHJVY3dLV3ZTZnozTGV1ZEVBQmNZWEd4NmppbndOZU5aYkxvM0NCMi9STEw1M0prdk5hTlU5bUltOGUKUlZnTkNOZ3BPWHREeWJJdXQyTTh6SWFERGU0d3dWVzVLLzlIZHMvOTkrUlNrTnJZcnBRYkpVekk3UnZsaGl5Rwppckc4bW5pRTBXQnVSZCtseXJFQ1hZaDBOeFlJSnFjcFViUnBjRXRUaXk3MWdsWitKVVlsVWErb1FRSURBUUFCCm8yWXdaREFPQmdOVkhROEJBZjhFQkFNQ0FRWXdFZ1lEVlIwVEFRSC9CQWd3QmdFQi93SUJBakFkQmdOVkhRNEUKRmdRVWJUS0c1UmR3UE9VMDJFK2sxcW1FSWtJSHZNY3dId1lEVlIwakJCZ3dGb0FVYlRLRzVSZHdQT1UwMkUrawoxcW1FSWtJSHZNY3dEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBSmZMUEo4SVhoV1hzSkR2UnlsQiszQTA3eWVZCnRvZDVGeVpieElPWFA4OUFCb3VvellwclNRYXFSTFIxY0lZeEVDTkx4ZEhQcjQ5VjZZOW1BM016NzAyUjk5bmIKQTY4eXVqMHNtMml5Qmlud0JaSUh3SlY2RllZTWRsdk8zRUE1aXpRSWduSkxCNW1vc0JPYnhMZmV0YUlHTnVEaApGR1ZGZzNhRDk1Y094KzlyenV6amthMFh3T29WRUVNS0I4WHRpMHhLME4xK1RCano2V3MzL0psN2orME5JazVOCjZmUnNLN0Q1NlB4d3VxR1Y2dk41WFJ0N3NhZHNod2tpTnFoL0haekRhTjlxcWRRQnRXVE1LRERsc1VWTTg1WmEKNDVwaElpNHV4dVhuYUhyMkJCeXdjaGEwalYramMyNUFhRFU2bm1HQ0dZZ1NkNWhaYlVJQ2hHR2l5Wnc9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
  tokenkey: ZXlKaGJHY2lPaUpTVXpJMU5pSXNJbXRwWkNJNklqVjJOeTFrY21OcE1YcElUemhLUlU1YWFWOUtPR3g1T0dvdExURlBjMWhwVURWTFFsaGhVRkpFU0VraWZRLmV5SnBjM01pT2lKcmRXSmxjbTVsZEdWekwzTmxjblpwWTJWaFkyTnZkVzUwSWl3aWEzVmlaWEp1WlhSbGN5NXBieTl6WlhKMmFXTmxZV05qYjNWdWRDOXVZVzFsYzNCaFkyVWlPaUowWld0MGIyNGlMQ0pyZFdKbGNtNWxkR1Z6TG1sdkwzTmxjblpwWTJWaFkyTnZkVzUwTDNObFkzSmxkQzV1WVcxbElqb2lkR1Z6ZEMxMFlYTnJMWEp2WW05MExXZHBkQzF6YzJndGRHOXJaVzR0YW1JeWRHSWlMQ0pyZFdKbGNtNWxkR1Z6TG1sdkwzTmxjblpwWTJWaFkyTnZkVzUwTDNObGNuWnBZMlV0WVdOamIzVnVkQzV1WVcxbElqb2lkR1Z6ZEMxMFlYTnJMWEp2WW05MExXZHBkQzF6YzJnaUxDSnJkV0psY201bGRHVnpMbWx2TDNObGNuWnBZMlZoWTJOdmRXNTBMM05sY25acFkyVXRZV05qYjNWdWRDNTFhV1FpT2lKaFltUXlNVE0yTXkxbU1UUXlMVFJpWmpRdE9XWTFZeTFoTURBd09HSTFaR1ZrWVRZaUxDSnpkV0lpT2lKemVYTjBaVzA2YzJWeWRtbGpaV0ZqWTI5MWJuUTZkR1ZyZEc5dU9uUmxjM1F0ZEdGemF5MXliMkp2ZEMxbmFYUXRjM05vSW4wLmpDdWNsdDY2bXNUTy10d19xVkNaWUNja0FUTDV3amJ2Qmk3RnVpNmU1RVFSandVa3Y2bHVOcnY1Q19UVEg2RU9jaGZSdFcwLVFJeHZmNDMzVVNaQ01UYW0wNmVhaGZNYnRSdjJEbHJnQkl5UjNaZFNBRGg2ZFJhT2xuVEtJNENPdzFHVTBVS3BheUJUTThON0l0UWdpNGMtSkJZZERYeS1XRWhNaGcyTDRWUENZNWt2NGNsa1V6YXNIY3lXaDlsTmR1X0FLVDBPWEE1UUFyTmpKWEtMR0pnWWp5aEl5UGZCQ1pkTUdjUzUwUlp2V2IyNVFYSUZJa29RbDlNRHBNaWFGSmFBTDhrZWRoaExFU0RUMUtuQkc2LUMtS0VEV1Z1Tk5GZ0tyaF9WY1U0TEVaVVJ2NGNvRElkUEREdUVRMUlVWXJPNVRwRHduZ3d3VFh3VHRCWldwQQ==

pipelineresource/cluster/res-test-cluster2.yaml

apiVersion: tekton.dev/v1alpha1
kind: PipelineResource
metadata:
  name: test-cluster
spec:
  type: cluster
  params:
    - name: url
      value: https://192.168.198.154:6443
  secrets:
    - fieldName: token
      secretKey: tokenkey
      secretName: target-cluster-secrets
    - fieldName: cadata
      secretKey: cadatakey
      secretName: target-cluster-secrets

pipelineresource/cluster/task-deploy.yaml

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: deploy-image
spec:
  resources:
    inputs:
      - name: workspace
        type: git
      - name: test-cluster
        type: cluster
  steps:
    - name: deploy
      image: registry.cn-shanghai.aliyuncs.com/hxpdocker/kubectl-without-config:latest
      script:
        #!/bin/sh
        kubectl --kubeconfig /workspace/$(resources.inputs.test-cluster.name)/kubeconfig --context $(resources.inputs.test-cluster.name) apply -f /workspace/workspace/deployment.yaml

Storage Resource

Only blob storage type Google Cloud Storage(gcs) is supported as of now via GCS storage resource

apiVersion: tekton.dev/v1alpha1
kind: PipelineResource
metadata:
  name: wizzbang-storage
spec:
  type: storage
  params:
    - name: type
      value: gcs
    - name: location
      value: gs://some-bucket
    - name: dir
      value: "y" # This can have any value to be considered "true"

Cloud Event Resource

pipelineresource/event/res-event.yaml

apiVersion: tekton.dev/v1alpha1
kind: PipelineResource
metadata:
  name: event-to-sink
spec:
  type: cloudEvent
  params:
  - name: targetURI
    value: http://sink:8080

pipelineresource/event/task-event.yaml

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: event
spec:
  resources:
    outputs:
      - name: event-to-sink
        type: cloudEvent
  steps:
    - name: hello
      image: busybox
      script:
        #!/bin/sh
        echo hello

description

pipelineresource/res-description.yaml

apiVersion: tekton.dev/v1alpha1
kind: PipelineResource
metadata:
  name: workspace-java
spec:
  description: test
  type: git
  params:
  - name: url
    value: https://github.com/skeeto/sample-java-project.git
  - name: revision
    value: master

params

pipelineresource/res-params.yaml

apiVersion: tekton.dev/v1alpha1
kind: PipelineResource
metadata:
  name: workspace-java
spec:
  type: git
  params:
  - name: url
    value: https://github.com/skeeto/sample-java-project.git
  - name: revision
    value: master

optional

pipelineresource/optional/res-workspace-java.yaml

apiVersion: tekton.dev/v1alpha1
kind: PipelineResource
metadata:
  name: workspace-java
spec:
  type: git
  params:
  - name: url
    value: https://github.com/skeeto/sample-java-project.git
  - name: revision
    value: master

pipelineresource/optional/task-optional.yaml

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: optional
spec:
  resources:
    inputs:
      - name: workspace
        type: git
        optional: true
  steps:
    - name: ls
      image: busybox
      command:
      - ls
      args:
      - “/workspace/”

pipelineresource/optional/taskrun-optional.yaml

apiVersion: tekton.dev/v1beta1
kind: TaskRun
metadata:
  generateName: optional-
spec:
  taskRef:
    name: volume-task

targetPath

pipelineresource/targetPath/res-workspace.yaml

apiVersion: tekton.dev/v1alpha1
kind: PipelineResource
metadata:
  name: workspace-go
spec:
  type: git
  params:
  - name: url
    value: https://github.com/deis/helloworld.git
  - name: revision
    value: master

pipelineresource/targetPath/task-go-test.yaml

apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: go-test
  namespace: default
spec:
  resources:
    inputs:
      - name: workspace
        type: git
        targetPath: go/src/
  steps:
    - name: unit-tests
      image: golang
      command: ["go"]
      args:
        - "build"
        - "helloworld.go"
      workingDir: "/workspace/go/src/"
      env:
        - name: GOPATH
          value: /workspace/go

tkn task start -f task-go-test.yaml -n tekton

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hxpjava1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值