本文最后更新于 339 天前,如有失效请评论区留言。
docker-compose.yml配置
version: '3'
services:
jenkins:
image: jenkins/jenkins:lts
container_name: jenkins
user: "0:0"
ports:
- 17000:8080
- 50000:50000
volumes:
- ./jenkins_home:/var/jenkins_home
- /root/tomcat7/webapps/ROOT:/var/ROOT
启动并且在后台运行Docker服务
docker-compose up -d
进入系统基本上只需要这三项配置,如果让公司多人都使用还需要用到管理用户
先进入系统配置
配置Jenkins URL和地址上的前缀相同即可
保存后进入全局工具配置
添加对应版本的NodeJS
进入插件管理
选择可用插件
Generic Webhook Trigger Plugin
通过webhook触发器构建(必装)
Publish Over SSH
将构建后的编译产出发布到服务器(可选)
Qy Wechat Notification Plugin
将构建情况发送到企业微信(可选)
根据个人实际需求安装需要的插件
test配置
源码管理
先拉取git代码,指定分支这里为test分支
构建触发器
接着当git的webhook触发时拿到请求的content,提取出 ref:哪个分支 commitsMessage:提交时的消息 commitsName:提交人
注意要先点击三次新增,然后选择三次JSONPath 再填写内容
ref
$.ref
commitsMessage
$.commits[0].message
commitsName
$.commits[0].author.name
token里和Webhook中的token相同
Print post content
Print contributed variables
打开打印信息
这里的filter时过滤如果提交时的ref来源为refs/heads/test分支,并且提交的commitsMessage为build时执行打包编译,避免每次提交都打包
构建环境
构建环境选择对应的node版本,这个老项目只能用node14,具体的在系统管理-全局工具配置-NodeJS 中配置
选择对应的nodejs版本如果不知道就在本地执行命令查看当前使用的版本
node -v
Build Steps
新增一个执行shell把一下代码拷入并跳转
node -v &&
npm -v &&
pwd &&
npm install &&
npm run build &&
rm -rf /var/ROOT/fertileWoman/* &&
cp -rf dist/* /var/ROOT/fertileWoman/
这里是将Docker容器内的 /var/ROOT
目录映射到本地服务器的 /root/tomcat7/webapps/ROOT
目录
所以打包后直接删除并移动文件即可
构建后操作
部署人:$commitsName
这里我使用的是企业微信通知,也可以使用钉钉或者邮件
Master配置
配置和上面大致都相同,只显示不同部分
^refs/heads/master_build*
$ref_$commitsMessage
node -v &&
npm -v &&
pwd &&
npm install &&
npm run build &&
tar -czvf dist.tar.gz dist &&
mkdir -p /var/ROOT/fertileWoman/build &&
mv -f dist.tar.gz /var/ROOT/fertileWoman/build/
部署人:$commitsName
打包地址:[https://www.xxx.com/fertileWoman/build/dist.tar.gz](https://www.xxx.com/fertileWoman/build/dist.tar.gz)