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

时间:2018-04-16 06:33:06

标签: gitlab gitlab-ci

尝试将带有VueJs的CI / CD与Gitlab一起使用。

使用50种不同的gitlab-ci.yml配置,并持续处理不同阶段的问题。

我按照以下教程进行了T:

https://about.gitlab.com/2017/09/12/vuejs-app-gitlab/

 serial.setOnTouchListener(new OnTouchListener() {

        public boolean onTouch(View v, MotionEvent event) {
            serial.requestLayout();
            getActivity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_UNSPECIFIED);

            return false;
        }
    });

我跳过了测试阶段,因为它一直在失败......所以为什么不跳过它。

如果有帮助,使用此配置,我不断收到以下错误: enter image description here

你的gitlab-ci.yml文件(适用于VueJS webapp)是什么样的?

1 个答案:

答案 0 :(得分:2)

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

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

  • 在项目的STAGING_PRIVATE_KEY部分中设置变量Settings -> Variables
  • 将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"