gitlab CI/CD 前端持续集成

1,登录服务器-安装gitlab-runner机器人

2,注册runner

gitlab-runner register

3,在gitlab-设置-CI/CD-runner里面找到 url及注册令牌 

gitlab CI/CD 前端持续集成_第1张图片

4,在register runner的时候输入对应的url及令牌

5,其他都可以随意输入

6,.gitlab-ci.yml文件内容

stages:
  - test
  - build
  - deploy
before_script:
  - echo "环境安装"
  - node -v
  - pnpm -v

test_job: # 创建一个名为 test_job 的任务 
  stage: test # 阶段任务,与 stages 对应
  only: # 告诉 Runner 这个名为 test_job 的任务,只在master分支上执行
    - develop
  script: # 要执行的脚本
    - echo "这是执行 test_job 之前会执行的脚本"
  # - npm install
  #  - npm run test
  tags: # 注册时输入的 tag 名
    - cultural

build_job:
  stage: build
  only:
    - develop
  script:
    - echo "============ 开始构建 ============"
    - whoami
    - pnpm i
    - pnpm run build
    - pwd
    - echo "============ 构建完成 ============"
    - rsync -azv -e "ssh -p 22" --delete dist/ [email protected]:/home/nginxWebUI/www/model
    # - rm -rf /www/prod/*
    # - cp -ri ./dist/* /www/prod/
     - rsync -azv -e "ssh -p 22" --delete dist/ [email protected]:/www/prod # 复制打包好的文件到 web 服务器文件目录下
    - echo "============ 部署完成 ============"
  tags:
    - cultural

test_job_zq: # 创建一个名为 test_job 的任务
  stage: test # 阶段任务,与 stages 对应
  only: # 告诉 Runner 这个名为 test_job 的任务,只在master分支上执行
    - staging
  script: # 要执行的脚本
    - echo "这是执行 test_job 之前会执行的脚本"
  #  - npm install
  #  - npm run test

  tags: # 注册时输入的 tag 名
    - cultural

build_job_zq:
  stage: build
  only:
    - staging
  script:
    - echo "============ 开始构建 ============"
    - whoami
    - pnpm i
    - pnpm run build
    - pwd
    - echo "============ 构建完成 ============"
    #    - rm -rf /www/prod/*
    #    - cp -ri ./dist/* /www/prod/
      - rsync -azv -e "ssh -p 22" --delete dist/ [email protected]:/www/prod # 复制打包好的文件到 web 服务器文件目录下
    - echo "============ 部署完成 ============"
  tags:
    - cultural

6,在服务器里面装node及pnpm

7,配置ssh免密,在服务器生成ssh

ssh-keygen

8,将runner的.ssh/id_rsa.pub写入目标服务器的 authorized_keys里面就可以免密访问了

9,提交代码,ci/cd就会自动跑,然后部署完成

你可能感兴趣的:(前端服务器相关,gitlab,ci/cd)