【问题标题】:Drone CI, Unterminated quoted stringDrone CI,未终止的引号字符串
【发布时间】:2020-05-12 20:28:34
【问题描述】:

我的 .drone.yml 看起来像这样:

 - name: project
    image: alpine:3.11
    environment:
      DOCKERHUB_USERNAME:
        from_secret: DOCKERHUB_USERNAME
      DOCKERHUB_PASSWORD:
        from_secret: DOCKERHUB_PASSWORD
   volumes:
     - name: dockersock
       path: /var/run/docker.sock
    commands:
      - docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD
      - docker-compose pull
      - docker-compose up -d application
      - docker-compose exec -T application /bin/bash -l -c ". /.venv/bin/activate && python manage.py migrate --noinput"
      - docker-compose build --build-arg CACHEBUST=${DRONE_BUILD_CREATED} inttests Nginx
      - docker-compose up -d --remove-orphans reporting tsophiel search application Nginx
      - docker-compose exec -T application /bin/bash -l -c ". /.venv/bin/activate && gunicorn app.wsgi:application -w 3 -t 300 -b :8000 --reload"

最后一个命令出现/bin/sh: syntax error: unterminated quoted string 错误。有什么想法吗?我不是唯一遇到此问题的人 - https://discourse.drone.io/t/unterminated-quoted-string/2009。所以,我认为这是drone-related 的问题。我很好奇如何修复它或至少调试以了解这里出了什么问题。谢谢!

UPD.:要修复此错误,请添加 COMPOSE_INTERACTIVE_NO_CLIvariable:

environment:
  COMPOSE_INTERACTIVE_NO_CLI: "1"

【问题讨论】:

  • 我遇到了同样的问题,与 docker 完全无关。在将新命令插入步骤后发生。在新命令后几行会发生此错误。但是,当我重新运行相同的构建时,错误发生在前一行。我不知道如何解决它。

标签: docker docker-compose continuous-integration drone.io


【解决方案1】:

我在 DroneCI、docker-compose 和您分享的错误方面遇到了类似的问题。 不幸的是,您的解决方案对我不起作用,但我找到了其他(非常奇怪的)解决方案。

在我的例子中,有简单的命令:

commands:
  - docker-compose -f docker-compose-tests.yml run web python manage.py test
  - docker-compose -f docker-compose-tests.yml down

删除线 docker-compose -f docker-compose-tests.yml down 导致,错误 /bin/sh: syntax error: unterminated quoted string 不再显示。

所以如果有人遇到类似的问题,你就有了挖掘的起点。

【讨论】:

    猜你喜欢
    • 2018-02-13
    • 1970-01-01
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-10
    • 1970-01-01
    • 2011-03-30
    相关资源
    最近更新 更多