Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to break up command in CircleCI yml to multiple lines? [duplicate]

Tags:

yaml

circleci

I have a CircleCI configuration file that looks like so:

# 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

How can I break up the docker run command into multiple lines like:

docker run \
-e VAR1=$VAR! \
-e VAR2=$VAR2 \
-e $VAR3-$VAR3 \
--entrypoint python my_image:latest \
-m unittest discover -v -s test

I've tried using the | operator for yaml, but CircleCI was unable to parse because it expects override to be a list.

# 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
like image 918
doremi Avatar asked Apr 18 '17 18:04

doremi


1 Answers

Using this answer which details the various ways to break up a string over multiple lines in yaml, I was able to deduce a solution which works nicely.

Note the use of the >- operator in the override section.

test:
  override:
    - >-
      docker run
      -e VAR1=$VAR!
      -e VAR2=$VAR2
      -e $VAR3-$VAR3
      --entrypoint python my_image:latest
      -m unittest discover -v -s test

This generates a nice single-line command of:

docker run -e VAR1=$VAR! -e VAR2=$VAR2 -e $VAR3-$VAR3 --entrypoint python my_image:latest -m unittest discover -v -s test
like image 113
doremi Avatar answered Sep 20 '22 19:09

doremi