gitlab CI/CD 如何执行多行命令,如图所示

San*_*idi 3 gitlab-ci

我想在 gitlabl CI/CD 中执行如下命令

ssh $DEPLOY_USER@$DEPLOY_HOST <<'ENDSSH'                                                                    
set -x -o verbose;
execute some command here
set +x
ENDSSH
Run Code Online (Sandbox Code Playgroud)

如何在脚本中添加此类命令

deploy-to-stage:
  stage: deploy
  before_script:
    - "which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )"
    - eval $(ssh-agent -s)
    - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
    - mkdir -p ~/.ssh
    - chmod 700 ~/.ssh
    - echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts
    - chmod 644 ~/.ssh/known_hosts
    - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.gitlab.com
  script:
    -   *** HERE I WANT TO RUN THAT COMMAND ***
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点

Mak*_*riy 8

你可以这样做:

script:
  - |
    ssh $DEPLOY_USER@$DEPLOY_HOST <<'ENDSSH'                                                                    
    set -x -o verbose;
    execute some command here
    set +x
    ENDSSH
Run Code Online (Sandbox Code Playgroud)