使用命令在 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
我正在尝试通过 运行 将环境变量 (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