You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过GitLab CI预设变量触发Tekton Pipeline并同步日志到GitLab流水线

从GitLab CI触发Tekton PipelineRun实现方案

前置依赖准备

  • 确保GitLab Runner具备AWS EKS集群的访问权限:可通过给Runner关联具备EKS访问权限的IAM角色实现,也可将加密后的kubeconfig配置为GitLab CI/CD变量
  • 准备包含kubectl、aws-cli、Tekton CLI(tkn)的CI运行镜像,可自行打包也可使用公开的兼容镜像

.gitlab-ci.yml 配置示例

stages:
  - run-tekton-pipeline

trigger-tekton:
  stage: run-tekton-pipeline
  image: 你打包好的包含kubectl/aws-cli/tkn的镜像地址
  variables:
    # 构建后镜像地址,使用GitLab预定义变量拼接
    TARGET_IMAGE: $CI_REGISTRY_IMAGE/$CI_PROJECT_NAME:$CI_COMMIT_SHORT_SHA
  before_script:
    # 配置EKS集群访问凭证,替换尖括号内容为你的实际集群配置
    - aws eks update-kubeconfig --name <你的EKS集群名称> --region <AWS区域代码>
  script:
    # 启动Tekton PipelineRun,直接获取生成的PipelineRun名称
    - PR_NAME=$(tkn pipeline start buildpacks-test-pipeline \
        --param IMAGE=$TARGET_IMAGE \
        --param SOURCE_URL=$CI_PROJECT_URL \
        --param SOURCE_REVISION=$CI_COMMIT_SHA \
        --workspace name=source-workspace,claimName=<你的源码工作区存储声明名称> \
        --workspace name=cache-workspace,claimName=<你的缓存工作区存储声明名称> \
        --namespace <Tekton资源所在的K8s命名空间> \
        -o name)
    # 流式输出PipelineRun全量日志,直到运行结束
    - tkn pipelinerun logs $PR_NAME -n <命名空间> --follow --all
    # 读取PipelineRun最终运行状态,同步到GitLab CI流水线状态
    - PR_STATUS=$(tkn pipelinerun describe $PR_NAME -n <命名空间> -o jsonpath='{.status.conditions[0].status}')
    - if [ "$PR_STATUS" != "True" ]; then exit 1; fi

配置说明

  • 所有带尖括号<>的占位内容请替换为你的实际环境配置
  • 用到的GitLab预定义变量均为官方内置,无需额外配置:
    • CI_PROJECT_URL:当前GitLab项目的仓库地址,直接对应Tekton Pipeline的SOURCE_URL参数
    • CI_COMMIT_SHA:当前触发流水线的提交完整SHA值,对应Tekton Pipeline的SOURCE_REVISION参数
    • CI_REGISTRY_IMAGE:GitLab自带容器镜像仓库的项目根地址,可直接用来拼接镜像推送地址,也可替换为第三方镜像仓库地址
  • 工作区配置可根据你的实际环境调整,若不需要持久化缓存也可使用emptyDir类型存储
  • 若Pipeline需要指定ServiceAccount等额外配置,可在tkn pipeline start命令后追加参数或传入自定义PipelineRun YAML

内容的提问来源于stack exchange,提问作者jonashackt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 08:36:03