使用Gitlab CI部署Vue.js构建文件

3
这是我的GitLab流水线。Vue.js构件在Runner上构建。我如何将它们部署到测试服务器?FYI:Fab pull 在repo上执行git pull
deploy_staging:
  image: python:3.6
  stage: deploy
  only:
    - master
  before_script:
    - curl -sL https://deb.nodesource.com/setup_13.x | bash -
    - apt-get update -y
    - apt-get install -y curl git gnupg nodejs
    - '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
    - |
      cat >~/.ssh/config <<EOF
      Host testserver
          ForwardAgent yes
          HostName dev.testserver.ts
          User testuser
      EOF
    - cat ~/.ssh/config
  script:
    - pip install -r requirements.txt
    - npm install
    - npm run production
    - fab pull

你想把构建工件(例如 dist 文件夹)从 Runner 复制到你的“测试服务器”吗? - AmirMohammad Dadkhah
是的,Amir,那就是我想做的。 - A. Nurb
1个回答

2

如果您想将文件从GitLab Runner复制到服务器上,可以使用scp命令实现。 例如:


 script:
    - pip install -r requirements.txt
    - npm install
    - npm run production
    - scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no /PATH/TO/BUILD_ARTIFACTS testserver:~/PATH/TO/DESTINATION
    - fab pull

UserKnownHostsFileStrictHostKeyChecking是SSH选项,可以防止出现错误Host key verification failed。因此,在您的情况下,它们应该与scp命令一起使用。
此外,构件文件的目标路径必须从testuser的主目录(波浪符号~)开始。否则,您可能会遇到Permission denied错误。


非常感谢!我几乎有相同的代码,但不知道UserKnownHostsFileStrictHostKeyChecking选项。 - A. Nurb

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接