【发布时间】:2018-04-08 20:00:10
【问题描述】:
我的问题是我创建的 bash 脚本在 gitlab 上出现此错误 "/bin/sh: eval: line 88: ./deploy.sh: not found"。下面是我的示例脚本 .gitlab-ci.yml。
我怀疑 gitlab ci 不支持 bash 脚本。
image: docker:latest
variables:
IMAGE_NAME: registry.gitlab.com/$PROJECT_OWNER/$PROJECT_NAME
DOCKER_DRIVER: overlay
services:
- docker:dind
stages:
- deploy
before_script:
- docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.gitlab.com
- docker pull $IMAGE_NAME:$CI_BUILD_REF_NAME || true
production-deploy:
stage: deploy
only:
- master@$PROJECT_OWNER/$PROJECT_NAME
script:
- echo "$PRODUCTION_DOCKER_FILE" > Dockerfile
- docker build --cache-from $IMAGE_NAME:$CI_BUILD_REF_NAME -t $IMAGE_NAME:$CI_BUILD_REF_NAME .
- docker push $IMAGE_NAME:$CI_BUILD_REF_NAME
- echo "$PEM_FILE" > deploy.pem
- echo "$PRODUCTION_DEPLOY" > deploy.sh
- chmod 600 deploy.pem
- chmod 700 deploy.sh
- ./deploy.sh
environment:
name: production
url: https://www.example.com
这也是我的 deploy.sh。
#!/bin/bash
ssh -o StrictHostKeyChecking=no -i deploy.pem ec2-user@targetIPAddress << 'ENDSSH'
// command goes here
ENDSSH
我想要的只是在 docker push 之后执行 deploy.sh 但不幸的是得到了这个关于 /bin/bash 的错误。
我真的需要你们的帮助。如果你能解决我关于 gitlab ci bash script got error "/bin/sh: eval: line 88: ./deploy.sh: not found"的问题,我将不胜感激。
【问题讨论】:
-
“不工作”不是一个有用的问题描述。请更新您的问题以包含实际发生的情况以及您预期会发生的情况。
-
用词过多
-
"/bin/sh: eval: line 88: ./deploy.sh: not found",我遇到了这个问题@vitr,你能帮帮我吗?
-
你可以试试
- bash ./deploy.sh -
@1615903 我得到了 ssh: 未找到。如何解决这个问题?
标签: bash continuous-integration gitlab gitlab-ci gitlab-ci-runner