如何在gitlab Ci / CD中运行远程命令?

时间:2018-09-05 18:00:51

标签: vue.js gitlab gitlab-ci-runner

我在gitlab.com上拥有用于gitlab存储库的.gitlab-ci.yml文件,以使用gitlab CI / CD构建和部署vue应用程序:

image: node:latest

cache:
  paths:
    - node_modules/

before_script:
 - apt-get update -qq && apt-get install -y -qq sshpass

build_deploy_stage:
  stage: build
  environment: Staging
  only:
    - master
  script:
    - rm ./package-lock.json
    - npm install
    - node -v
    - npm run build  
    - ls
    - sshpass -V
    - export SSHPASS=$USER_PASS 
    - sshpass -e scp -o stricthostkeychecking=no -r dist user@example.com:~/myapp

部署后,我想在commmand下运行,好像我已远程登录(ssh user@example.com):

  

$ pm2重新启动myapp

     

$ cp〜/ myfiles / file1〜/ backup / myfiles / file1.bk

如何将上述命令添加到.gitlab-ci.yml中?

推荐的方法是将ssh与公共私钥一起使用,而不是sshpass。使用ssh密钥对并登录到远程主机(example.com)并从gitlab CI / CD运行器中在远程主机上运行命令的解决方案是什么?

0 个答案:

没有答案