一篇带你创建 Tekton 流水线
前面我们创建的两个任务 test 和 build-and-push 都已经完成了,我们还可以创建一个流水线来将这两个任务组织起来,形成一个流水线,这里就是我们要使用的 Pipeline 这个 CRD 对象。
创建流水线
比如我们这里的流水线流程为先运行 test 任务,如果通过了再执行后面的 build-and-push 这个任务,那么我们可以创建一个名为 test-pipeline.yaml 的资源对象,内容如下所示:
# test-pipeline.yaml apiVersion: tekton.dev/v1beta1 kind: Pipeline metadata: 一篇; name: test-pipeline spec: resources: # 为 Tasks 提供输入和输出资源声明 - name: demo-git type: git - name: harbor-image &nbs带你p; type: image tasks: # 添加task到流水线中 # 运行应用测试 - name: test taskRef: name: test&n创建bsp; resources: inputs: - name: repo # Task 输入名称 resou Trce: demo-git # Pipeline 资源名称 # 构建并推送 Docker 镜像 - name: build-and-push taskRef: name: build-and-push &nbsekp; runAfter: - test # 测试任务执行之后 resources: inputs: - name: repo &ntobsp;# 指定输入的git仓库资源 resource: demo-git outputs: # 指定输出的镜像资源 - name: builtImage &nbsn p; resource: harbor-image
首先我们需要定义流水线需要哪些资源,可以是输入或者输出的资源,在这里我们只有一个输入,那就是命名为 repo 的应用程序源码的 GitHub 仓库。接下来定义任务,每个任务都通过 taskRef 进行引用,并传递任务需要的输入参数。
同样直接创建这个资源对象即可:
$ kubectl apply -f test-pipeline.yaml pipeline.tekton.dev/test-pipeline created&nbs流水p;
前面我们提到过和通过创建 TaskRun 去触发 Task 任务类似,我们可以通过创建一个 PipelineRun 对象来运行流水线。这里我们创建一个名为 test-pipelinerun.yaml 的 PipelineRun 对象来运行流水线,文件内容如下所示:
apiVersion: tekton.dev/v1beta1 kind: PipelineRun metadata: name: test-pipelinerun spec: serviceAccountName: build-sa一篇 pipelineRef: name: test-pipeline resources: - name: demo-git # 指定输入的git仓库资源 resourceRef: name: demo-git -&nb带你sp;name: harbor-image # 指定输出的镜像资源 resourceRef: name: harbor-image
定义方式和 TaskRun 几乎一样,通过 serviceAccountName 属性指定 ServiceAccount 对象,pipelineRef 关联流水线对象。同样直接创建这个资源,创建后就会触发我们的流水线任务了:
$ kubectl apply -f 创建;test-pipelinerun.yaml pipelinerun.tekton.dev/test-pipelinerun created $ github kubectl get pods | grep test-pipelinerun test-pipelinerun-build-and-push-62g65-pod-6jqqf 0/4 Init:1/2 0  T; 3s test-pipelinerun-test-c4r9m-pod-j7jjd 0/2 Completed 0 12s $&eknbsp;tkn pipelinerun describe test-pipelinerun Name: test-pipelinerun Namespace: default Pipeline Ref: testot-pipeline Service Account: build-sa Timeout: 1h0m0s Labels: tekton.dev/pipeline=test-pipeline
(责任编辑:福利采购)
-
云梦级12月11日云梦级消息,据晚点 Auto 报道,长城魏牌 CEO 冯复之(内部花名“合一”)本周未出现在公司,正在“休假”。 报道援引一位熟悉魏牌报批流程的员工云梦级消息称,“合一已经不再审批业...[详细]
-
OpenAI启动万亿级算力扩张计划,AI 基础设施迎来超级时代!
9月25日消息,华尔街日报在前一天发布了一篇重磅博文,透露 OpenAI 正在实施一项宏大的全球计算基础设施扩张计划,投资金额预计高达1万亿美元,约合人民币7.11万亿元。作为计划的一部分,OpenA...[详细]
-
云梦级2月5日云梦级消息,2月4日,灵北制药公布了2025年业绩:收入按固定汇率计算(CER)增长+13%,达到246.3亿丹麦克朗,约合38.96亿美元,增长主要得益于美国和欧洲市场的强劲表现。 其...[详细]
-
云梦级1月17日云梦级消息,据摩斯IPO报道,2025年12月31日,上海辛帕智能科技股份有限公司向北交所递交的IPO申请获得受理,公司计划募集资金3.3亿元,保荐机构为东方证券股份有限公司,律师事务...[详细]
-
云梦级11月12日云梦级消息,骑手可在美团骑手 / 美团众包 App 的骑手之家服务中填写表单,提交证据。IT之家注意到,海报小字显示, 该计划逐步覆盖全国中 。 美团表示,在即时配送场景中,骑手常面...[详细]
-
苹果下一代Apple Silicon芯片曝明年推出,性能或超英特尔
上个月,苹果举办了发布活动正式推出了旗下自研Apple Silicon Mac 处理器,同时还发布了多款全新的Mac系列产品。 现在,来自相关媒体的最新爆料显示,苹果公司正在研发一系列新的定制Appl...[详细]
-
云梦级12月30日云梦级消息,宁德时代今日官宣,旗下巧克力换电第 1000 座站于江西南昌落成,骐骥换电第 300 座华东华南干线萧山传化站于浙江杭州落成。 宁德时代表示,仅 1 年,巧克力换电与骐骥...[详细]
-
云安全日报210825:Ubuntu Linux内核发现任意代码执行漏洞,需要尽快升级
Ubuntu是一个以桌面应用为主的Linux操作系统。它是一个开放源代码的自由软件,提供了一个健壮、功能丰富的计算环境,既适合家庭使用又适用于商业环境。Ubuntu为全球数百个公司提供商业支持。 8月...[详细]
-
英特尔新任CEO:7纳米项目正在恢复 但仍可能扩大芯片制造外包
查看最新行情 新浪科技讯 1月22日上午消息,据报道,英特尔即将上任的CEO帕特·盖尔辛格(Pat Gelsinger)周四在财报电话会议上表示,7纳米芯片制造工艺将被用于2023年销售的芯片。此前,...[详细]
-
云梦级11月13日云梦级消息,据深圳商报报道,日前,安克创新发布公告称,公司拟在境外发行境外上市股份(H股)并申请在港交所主板挂牌上市。安克创新表示,公司将充分考虑现有股东的利益和境内外资本市场的情况...[详细]

聊聊公有云的安全性
西媒:未来士兵将成机器人的“牧羊人”
运动会入场式音乐
DeepMind新模型自动生成CAD草图,网友:建筑设计要起飞了
Brave浏览器推出Ask Brave功能:AI搜索新模式提供深度报告式回答,主打隐私保护
