自动化部署(Gitlab)

2023-06-20,,

小程序可持续化自动部署

一、安装gitlab-runner

官方地址:https://docs.gitlab.com/runner/install/

windows安装如下:

nodejs的环境变量一定要放到系统变量中!!!

    进入硬盘任意一个目录,下载gitlab-runner.exe文件,根据电脑是64位还是32位下载
    cd 到文件所在目录中,进行注册。命令:./gitlab-xxx-xxx.exe register 注意:一定要用管理员权限启动powershell
    根据提示输入URL、token、描述等,其中URL、token在项目中找,具体如图:

    注册中有一步,输入runner执行程序。Please enter the executor:

    选择shell
    至此,runner已经启动好了,可查看状态进行进一步确认。

    a. ./gitlab-xxx-xxx.exe verify 查看runner状态

    alive代表启动状态

    b. ./gitlab-xxx-xxx.exe restart 重启runner
    注册完毕后,回项目中,查看runners是否存在。绿色代表注册成功,红色代表失败

    进入runner安装目录,打开config.toml 文件

    runner官方链接:https://docs.gitlab.com/runner/executors/

二、.gitlab-ci.yml

文件字段详细描述在官方ci。大家可自行查看

# 任务阶段 没有定义的话 默认式test阶段 名称、个数自定义
# 从上到下依次执行,如果某个任务失败了,一般情况下不会继续往下执行
stages:
- load # 安装项目依赖
- test-build # 测试打包
- test-deploy # 测试部署
- prod-build # 生产打包
- prod-deploy # 生产上传部署 # 缓存
# 由于下一个任务执行会把上一个任务产物给删掉,比如node_modules
# 此时cache作用就体现出来了 将需要的文件填写进去 cache:
paths:
- node_modules
- dist load-job: # 任务名称(名称自定义)
stage: load # 上面stages定义的步骤1
only: # 限制条件 仅develop、release分支执行job
- develop
- release
script:
- echo "开始 cnpm install" # echo 脚本命令 相当于console.log()
- cnpm i # 安装项目依赖
- echo "结束 cnpm install" test-build-job:
stage: test-build
only:
- develop
script:
- whoami # 显示当前登录的用户名
- pwd # 当前工作目录
- cnpm -v # 查看cnpm版本
- npm run build:test # 测试打包命令 test-deploy-job:
stage: test-deploy
only:
- develop
script:
- pwd
- echo "开启授权-二维码"
- npm run deploy:test # 测试部署命令
- echo "结束授权-二维码" prod-build-job:
stage: prod-build
only:
- release
script:
- whoami
- pwd
- cnpm -v
- echo "开始生产环境打包"
- npm run build # 生产部署
- echo "结束生产环境打包" prod-deploy-job:
stage: prod-deploy
only:
- release
before_script: # script之前执行
- echo "生产环境上传begin"
script:
- pwd
- npm run deploy:prod # 生产打包
after_script: # script之后执行
- echo "生产环境上传end"

三、任务进度

其中,每个阶段可点进去查看详细日志信息。代表成功,×代表失败(进入具体阶段查看报错日志信息)

自动化部署(Gitlab)的相关教程结束。

《自动化部署(Gitlab).doc》

下载本文的Word格式文档,以方便收藏与打印。