错误:before_script配置应为字符串数组

时间:2019-02-25 11:39:02

标签: gitlab yaml gitlab-ci

GitLab:

  

.gitlab-ci.yml语法错误

docker exec -i XXX pip3 install -r ./requirements_os_specific.txt --target=./packages --platform=manylinux1_x86_64 --only-binary=:all:

此命令给出语法错误。

  

“错误:before_script配置应为字符串数组”

如果我删除“ --only-binary=:all:”,此功能就很好

variables :    IMAGE_NAME: xxx   

before_script:
  - whoami
  - echo $GitLabPassword
  - docker login -u Prasenjit.Chowdhury -p $GitLabPassword xxxxxxx
  - docker -v
  - docker exec -i abc python -V
  - docker exec -i abc aws --version
  - docker exec -i abc pip3 install -r ./requirements_os_specific.txt --target=./packages --platform=manylinux1_x86_64 --only-binary=:all:

如果我删除最后一行,此脚本可以正常工作

1 个答案:

答案 0 :(得分:4)

您必须在 yaml 中使用冒号:进行转义。这可以通过用引号"将整个条目引起来。

替换:

- docker exec -i abc pip3 install -r ./requirements_os_specific.txt --target=./packages --platform=manylinux1_x86_64 --only-binary=:all:

具有:

- "docker exec -i abc pip3 install -r ./requirements_os_specific.txt --target=./packages --platform=manylinux1_x86_64 --only-binary=:all:"