首页 > 服务器管理 > gitlab实现多环境自动化部署
2024
06-08

gitlab实现多环境自动化部署

一、概述

使用gitlabCI实现自动化部署思路是创建runner后,将runnner分配给具体仓库,然后创建配置文件分阶段、分环境实现自动化部署。如果gitlab平台部署环境和代码部署环境不一致则需要创建全局ssh变量实现远程访问其他服务器。

Gitlab-ci:从零开始的前端自动化部署

二、实现方式

1、创建runner,确保runner正确运行

runner.PNG

2、创建环境变量,用来ssh登录远程主机

变量.PNG

3、在项目中使用指定的runner

分配.PNG

4、编写配置文件.gitlab-ci.yml

stages:      #分段
  - install
  - eslint
  - build-uat
  - build-prod
  - deploy-uat

cache:      #缓存
  paths:
    - node_modules/

install:
  stage: install
  tags:
    - shared
  before_script:
    - export PATH=$PATH:/root/.nvm/versions/node/v17.6.0/bin
  script:
    - npm install
  only:
    - develop #当代码合并到develop分支时,该作业才会被执行
    - master #当代码合并到master分支时,该作业才会被执行

eslint:
  stage: eslint
  tags:
    - shared
  before_script:
    - export PATH=$PATH:/root/.nvm/versions/node/v17.6.0/bin
  script:
    - npm run lint
    - cat eslint_report.html  # 显示输出内容
  artifacts:
    paths:
      - eslint_report.html
  only:
    - develop #当代码合并到develop分支时,该作业才会被执行
    - master #当代码合并到master分支时,该作业才会被执行

build-uat:
  stage: build-uat
  tags:
    - shared
  before_script:
    - export PATH=$PATH:/root/.nvm/versions/node/v17.6.0/bin
  script:
    - npm run build:uat
  artifacts:
    paths:
      - dist/
  only:
    - develop #当代码合并到develop分支时,该作业才会被执行

build-prod:
  stage: build-prod
  tags:
    - shared
  before_script:
    - export PATH=$PATH:/root/.nvm/versions/node/v17.6.0/bin
  script:
    - npm run build:prod
  artifacts:
    paths:
      - dist/
  only:
    - master #当代码合并到master分支时,该作业才会被执行

deploy-uat:
  stage: deploy-uat
  script:
    - ssh root@$UAT_SERVER_IP "rm -rf /www/aa"
    - scp -r ./dist root@$UAT_SERVER_IP:/www/aa
  only:
    - develop #当代码合并到develop分支时,该作业才会被执行


作者:admin
admin
TTF的家园-www.ttfde.top 个人博客以便写写东西,欢迎喜欢互联网的朋友一起交流!

本文》有 0 条评论

留下一个回复