我有一个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
Run Code Online (Sandbox Code Playgroud)
如何将docker run命令分解为多行,如:
docker run \
-e VAR1=$VAR! \
-e VAR2=$VAR2 \
-e $VAR3-$VAR3 \
--entrypoint python my_image:latest \
-m unittest discover -v -s test
Run Code Online (Sandbox Code Playgroud)
我已经尝试使用|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
Run Code Online (Sandbox Code Playgroud)
使用这个答案详细说明了在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
Run Code Online (Sandbox Code Playgroud)
这会生成一个很好的单行命令:
docker run -e VAR1=$VAR! -e VAR2=$VAR2 -e $VAR3-$VAR3 --entrypoint python my_image:latest -m unittest discover -v -s test
Run Code Online (Sandbox Code Playgroud)