gitlab+runner实现NPM线上自动打包
前情提要
我是用了三个服务器,分别是gitlab存储服务器用于存储提交文件,gitlab-runner打包服务器用于npm打包,宝塔服务器用于项目部署运营。
主要流程是:
下面是gitlab-ci.yml文件内容:
stages: # 流水线节点
- install
- build
cache: # 缓存
paths:
- node_modules
- build
install-job:
tags:
- sailboat-ui-runner
stage: install
script:
- npm install -f
build-job:
tags:
- sailboat-ui-runner
stage: build
script:
- npm run build:dev
- ls -la dist/
- scp -o StrictHostKeyChecking=no -r dist/* root@10.*****.231:/home/wwwroot/sa*****at-ui/# 教学
# 先在gitlab对应的项目里面找到:设置-CI/CD-Runners,然后展开,创建新的runner
# 在创建runner的时候,只需要填写tags,注意这个tags非常重要,他对应上面步骤的tags:(上面1-24行代码里面有,必须一样才行),然后创建
# 创建后会有教你怎么注册runner,跟着教学走就行,注意教学内容应该在gitlab-runner服务器上运行
# 至于填写第一个是填域名http://218.*****.85:8000
# 第二个是填token,这个token在gitlab对应的项目里面找到:设置-CI/CD-Runners,然后展开,创建新的runner,然后复制token
# 然后是填写runner的tag名称,一定要填刚才上面创建的名称
# 然后是选择运行方式,选择shell
# 然后就完成了好像
# 下面开始运行gitlab-runner,命令是:gitlab-runner run
################################################################################
# 然后打通gitlab-runner服务器和宝塔服务器的ssh连接
# 步骤:
# 在gitlab-runner服务器上运行:ssh-keygen -t rsa -b 2048 -C "35*****73@qq.com",然后三次回车,生成了公钥,打开公钥文件:id_rsa.pub
# 复制id_rsa.pub里面的内容,文件在/root/.ssh/id_rsa.pub
# 在宝塔服务器上执行
# echo "您的公钥内容" >> ~/.ssh/authorized_keys
# chmod 600 ~/.ssh/authorized_keys