使用Vue在gitlab中配置gitlab-ci.yml文件

使用Vue在gitlab中配置gitlab-ci.yml文件,gitlab,gitlab-ci,Gitlab,Gitlab Ci,正在尝试将CI/CD与VueJs和Gitlab一起使用 使用了50种不同的gitlab-ci.yml配置,并在不同阶段不断出现大量问题 我按照以下教程学习了T: 我跳过了测试阶段,因为它总是失败…所以为什么不跳过它呢 如果有帮助的话,使用此配置,我会不断收到以下错误: VueJS Web应用程序的gitlab-ci.yml文件(有效)是什么样子的?昨天我在研究如何在gitlab上设置ci/CD时遇到了这个问题。经过24小时的研究和测试。我终于有了一个工作脚本。希望这有帮助 要使其正常工作,您

正在尝试将CI/CD与VueJs和Gitlab一起使用

使用了50种不同的gitlab-ci.yml配置,并在不同阶段不断出现大量问题

我按照以下教程学习了T:

我跳过了测试阶段,因为它总是失败…所以为什么不跳过它呢

如果有帮助的话,使用此配置,我会不断收到以下错误:


VueJS Web应用程序的gitlab-ci.yml文件(有效)是什么样子的?

昨天我在研究如何在gitlab上设置ci/CD时遇到了这个问题。经过24小时的研究和测试。我终于有了一个工作脚本。希望这有帮助

要使其正常工作,您需要:

  • 在项目的
    Settings->Variables
    部分中设置变量
    STAGING\u PRIVATE\u KEY
  • 将ssh密钥添加到服务器上已知主机的列表中
以下是我最后的剧本:

image: node:latest

stages:
  - build
  - deploy

build site:
  stage: build
  before_script:
    - apt-get update
    - apt-get install zip unzip nodejs npm -y
    - npm install --progress=false
  cache:
    paths:
    - node_modules/
  script:
    - npm run build
  artifacts:
    expire_in: 1 week
    paths:
      - dist/

deploy:
  stage: deploy
  before_script:
    - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
    - eval $(ssh-agent -s)
    - echo "$STAGING_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
    - mkdir -p ~/.ssh
    - chmod 700 ~/.ssh
    - ssh-keyscan YOUR-SEVER-IP >> ~/.ssh/known_hosts
    - chmod 644 ~/.ssh/known_hosts
  script:
    - ssh -p22 root@YOUR-SEVER-IP "mkdir /var/www/_tmp"
    - scp -p22 -r /builds/YOUR-USERNAME/YOUR-REPO-TITLE/dist/* root@form.toprecng.org:/var/www/form.toprecng.org/_tmp
    - ssh -p22 root@YOUR-SEVER-IP "mv /var/www/html/ /var/www/_old && mv /var/www/_tmp /var/www/html/"
    - ssh -p22 root@YOUR-SEVER-IP "rm -rf /var/www/_old"

您的SSH私钥似乎无效。确保它以
----开始DSA私钥------
开头,以
----结束DSA私钥------
结尾,您好@1615903谢谢!对$SSH\u PRIVATE\u密钥对应于一个“secret variable”(在settings=>CI/CD=>secret variables下),它的开头与您提到的一样。我尝试复制/粘贴它,而不是将$SSH_PRIVATE_密钥作为字符串,但是“----”会产生问题。有什么想法吗?请改写问题。如果是SSH连接错误,则显然与vue.js无关。@JakubKania部分同意……错误是任意的,只是一个示例,因为我没有vue的正确gitlab-ci.yml。每个构建似乎都是特定于一种语言的,我正在寻找一个特定于vuejs的构建/部署。@Tony,好吧,我会为每个错误提出一个单独的问题,或者重复本教程,因为如果它对您不起作用,您就不会完全遵循它。
image: node:latest

stages:
  - build
  - deploy

build site:
  stage: build
  before_script:
    - apt-get update
    - apt-get install zip unzip nodejs npm -y
    - npm install --progress=false
  cache:
    paths:
    - node_modules/
  script:
    - npm run build
  artifacts:
    expire_in: 1 week
    paths:
      - dist/

deploy:
  stage: deploy
  before_script:
    - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
    - eval $(ssh-agent -s)
    - echo "$STAGING_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
    - mkdir -p ~/.ssh
    - chmod 700 ~/.ssh
    - ssh-keyscan YOUR-SEVER-IP >> ~/.ssh/known_hosts
    - chmod 644 ~/.ssh/known_hosts
  script:
    - ssh -p22 root@YOUR-SEVER-IP "mkdir /var/www/_tmp"
    - scp -p22 -r /builds/YOUR-USERNAME/YOUR-REPO-TITLE/dist/* root@form.toprecng.org:/var/www/form.toprecng.org/_tmp
    - ssh -p22 root@YOUR-SEVER-IP "mv /var/www/html/ /var/www/_old && mv /var/www/_tmp /var/www/html/"
    - ssh -p22 root@YOUR-SEVER-IP "rm -rf /var/www/_old"