使用命令在 CircleCI 中设置环境变量

Setting enviroment variable in CircleCI using a command

我正在尝试通过 运行 将环境变量 (SHORT_HASH) 设置为较短的 github 散列作为命令 ('echo $CIRCLE_SHA1 | cut -c -7')。

所以,我希望将散列 'b1e5ef8acff51c9218ccbf7152fae1d2049d03c5' 缩短为 'b1e5ef8'

这是我的 circle.yml

的精简版
machine:
  python:
    version: 2.7.3
  services:
    - docker
  environment:
    SHORT_HASH: 'echo $CIRCLE_SHA1 | cut -c -7'
    BUILD_TAG: $CIRCLE_BUILD_NUM-$SHORT_HASH

我查看了 circleci 文档,但没有找到类似的内容。 https://circleci.com/docs/environment-variables

代码在 shell 中执行,因此您需要在要评估的短语周围使用反引号或 $() 方法。这个这个:

SHORT_HASH: $(echo $CIRCLE_SHA1 | cut -c -7)

一种方法是将导出语句附加到 $BASH_ENV 这是一个例子:

version: 2
jobs:
  build:
    docker:
      - image: buildpack-deps:jessie
    working_directory: ~/project
    steps:
      - checkout
      - run: |
        bar_var="foo-bar"
        echo 'export FOO_ENV_VAR="${bar_var}"' >> $BASH_ENV
      - run:
          command: |
            echo $FOO_ENV_VAR