从Gitlab CI-CD运行的脚本停止但未完成

时间:2019-06-10 08:03:19

标签: docker gitlab

我已经设置了gitlab ci-cd,可以在其中调用脚本来在服务器上执行某些任务。

production:
  stage: production
  # when: manual
  script:
    - "which ssh-agent || ( apk update && apk add openssh-client )"
    - ssh ubuntu@$DEPLOY_SERVER 'bash -s' < ./myscript.sh
  only:
    - master

现在在myscript.sh内部,我检查是否已安装docker:

#!/bin/sh

set -e

which docker || ( sudo apt update -y && sudo apt install apt-transport-https ca-certificates curl software-properties-common -y && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" -y && sudo apt update -y && sudo apt-cache policy docker-ce && sudo apt install docker-ce )

sudo docker version

... continue performing the tasks

问题是,如果安装了docker,则会执行从sudo docker version到脚本末尾的任务。

但是,如果未安装docker,即which docker失败,则安装了必需的软件包,但是以下所有任务均无法执行,并且gitlab-cicd显示Job succeeded而不执行{ {1}}结束。

原因是什么?

0 个答案:

没有答案