流水线编排

变量 分享链接

作者:赵红梅 最后编辑:赵红梅 于 2024-10-29 14:45:46 浏览量:286

在流水线中,变量可以在三个不同的层级设置:

  1. 流水线层级(Pipeline Level):流水线环境变量对于流水线中的所有运行步骤都是可用的。
  2. 阶段层级(Stage Level):阶段环境变量对于该阶段中的所有运行步骤可用。每个阶段可以有自己独立的环境变量,这些变量不会影响到其他阶段。
  3. 步骤层级(Step Level):运行步骤的环境变量仅在该步骤中可用。

需要注意的是,当变量名称相同时,不同层级的变量会按照优先级进行解析,优先级顺序为:步骤 > 阶段 > 流水线 。步骤中的变量会覆盖阶段中的变量,而阶段中的变量又会覆盖流水线中的变量。这种机制使得在复杂的流水线配置中,开发者能够精确控制变量的使用和影响。

流水线层级(Pipeline Level)

流水线环境变量对于流水线中的所有运行步骤都可用。

kind: pipeline
spec:
  options:
    envs:
      GOOS: linux
      GOARCH: amd64
  stages:
  - type: ci
    spec:
      steps:
      - name: test 1.20
        type: run
        spec:
          container: golang:1.20
          script: |
            go build
            go test
      - name: test 1.21
        type: run
        spec:
          container: golang:1.21
          script: |
            go build
            go test 

阶段层级(Stage Level)

阶段环境变量对于该阶段中的所有运行步骤可用。

kind: pipeline
spec:
  stages:
  - type: ci
    spec:
      envs:
        GOOS: linux
        GOARCH: amd64
      steps:
      - name: test 1.20
        type: run
        spec:
          container: golang:1.20
          script: |
            go build
            go test
      - name: test 1.21
        type: run
        spec:
          container: golang:1.21
          script: |
            go build
            go test 

步骤层级(Step Level)

运行步骤的环境变量仅在该步骤中可用:

kind: pipeline
spec:
  stages:
  - type: ci
    spec:
      steps:
      - name: test
        type: run
        spec:
          container: golang
          envs:
            GOOS: linux
            GOARCH: amd64
          script: |
            go build
            go test 

后台步骤也支持环境变量:

kind: pipeline
spec:
  stages:
  - type: ci
    spec:
      steps:
      - name: database
        type: background
        spec:
          container: mariadb
          envs:
            MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
            MYSQL_DATABASE: test
      - name: test
        type: run
        spec:
          container: mariadb
          script: |-
            sleep 15
            mariadb -u root -h database --execute="SELECT VERSION();" 
返回顶部
刘金莲
高级客户经理
17685742391
3784249187
统一服务热线 4006-8899-23
我要提问提问有任何问题,您都可以在这里提问。 问题反馈反馈点击这里,让我们聆听您的建议与反馈。