加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – ./deploy.sh没有在gitlab ci上工作

发布时间:2020-12-16 01:50:57 所属栏目:安全 来源:网络整理
导读:我的问题是我创建的bash脚本在gitlab上得到了这个错误“/ bin / sh:eval:line 88:./ deploy.sh:not found”.下面是我的示例脚本.gitlab-ci.yml. 我怀疑gitlab ci不支持bash脚本. image: docker:latestvariables: IMAGE_NAME: registry.gitlab.com/$PROJE
我的问题是我创建的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 thingy的错误.

我真的需要你的帮助.如果你能解决我关于gitlab的问题,我会很感激ci bash脚本得到错误“/ bin / sh:eval:第88行:./ deploy.sh:not found”.

解决方法

docker:最新版基于alpine linux,非常简约,默认情况下安装不多.例如,ssh不可用,所以如果你想使用ssh命令,你需要先安装它.在您的before_script中,添加:

- apk update && apk add openssh

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读