如何将 CircleCI yml 中的命令分解为多行?
How to break up command in CircleCI yml to multiple lines?
我有一个 CircleCI 配置文件,如下所示:
# Customize test commands
test:
override:
- docker run -e VAR1=$VAR! -e VAR2=$VAR2 -e $VAR3-$VAR3 --entrypoint python my_image:latest -m unittest discover -v -s test
如何将 docker run
命令拆分为多行,例如:
docker run \
-e VAR1=$VAR! \
-e VAR2=$VAR2 \
-e $VAR3-$VAR3 \
--entrypoint python my_image:latest \
-m unittest discover -v -s test
我试过对 yaml 使用 |
运算符,但 CircleCI 无法解析,因为它期望 override
是一个列表。
# Customize test commands
test:
override: |
docker run \
-e VAR1=$VAR! \
-e VAR2=$VAR2 \
-e $VAR3-$VAR3 \
--entrypoint python my_image:latest \
-m unittest discover -v -s test
使用这个 answer 详细介绍了在 yaml 中将字符串拆分为多行的各种方法,我能够推断出一个效果很好的解决方案。
请注意 override
部分中 >-
运算符的使用。
test:
override:
- >-
docker run
-e VAR1=$VAR!
-e VAR2=$VAR2
-e $VAR3-$VAR3
--entrypoint python my_image:latest
-m unittest discover -v -s test
这会生成一个不错的单行命令:
docker run -e VAR1=$VAR! -e VAR2=$VAR2 -e $VAR3-$VAR3 --entrypoint python my_image:latest -m unittest discover -v -s test
我有一个 CircleCI 配置文件,如下所示:
# Customize test commands
test:
override:
- docker run -e VAR1=$VAR! -e VAR2=$VAR2 -e $VAR3-$VAR3 --entrypoint python my_image:latest -m unittest discover -v -s test
如何将 docker run
命令拆分为多行,例如:
docker run \
-e VAR1=$VAR! \
-e VAR2=$VAR2 \
-e $VAR3-$VAR3 \
--entrypoint python my_image:latest \
-m unittest discover -v -s test
我试过对 yaml 使用 |
运算符,但 CircleCI 无法解析,因为它期望 override
是一个列表。
# Customize test commands
test:
override: |
docker run \
-e VAR1=$VAR! \
-e VAR2=$VAR2 \
-e $VAR3-$VAR3 \
--entrypoint python my_image:latest \
-m unittest discover -v -s test
使用这个 answer 详细介绍了在 yaml 中将字符串拆分为多行的各种方法,我能够推断出一个效果很好的解决方案。
请注意 override
部分中 >-
运算符的使用。
test:
override:
- >-
docker run
-e VAR1=$VAR!
-e VAR2=$VAR2
-e $VAR3-$VAR3
--entrypoint python my_image:latest
-m unittest discover -v -s test
这会生成一个不错的单行命令:
docker run -e VAR1=$VAR! -e VAR2=$VAR2 -e $VAR3-$VAR3 --entrypoint python my_image:latest -m unittest discover -v -s test