背景:
目前公司前端项目比较多,发布多是用手动打包的形式实现,当然后期我们基于portainer实现了自己的depoly脚本,但本质上还不够自动化。
gitlab ci/cd是gitlab 自身集成的功能,理论上我们只需要增加一个配置文件即可。
实现步骤:
1、增加gitlab-ci.yml 文件到项目根目录(纯前后端分离项目,这一步就够了)
2、将项目打包镜像所需要的文件,拷贝到项目输出目录里,参考下述copy.js
3、Rancher 上增加应用,导入文件里增加
配置文件:
1、gitlab-ci.yml
variables:
package_cmd: 'npm run public'
npm_install: 'npm --registry https://nexus.sxftwork.com/repository/westmoney-npm-group/ install && npm ls'
node_version: '16.15.1'
GIT_STRATEGY: clone
cache:
paths:
- $CI_PROJECT_DIR/dist/*
stages:
- package
- build
- push
- update
build-code-job:
stage: build
only:
- test
- pre
tags:
- gitlab-runner-share1
script:
- echo "begin build images"
- pwd && ls -al
- set +e