docker+jenkins前端代码CICD自动部署
本文最后更新于 115 天前,如有失效请评论区留言。

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

image-20230428151607824

进入系统基本上只需要这三项配置,如果让公司多人都使用还需要用到管理用户

先进入系统配置

image-20230428151800844

配置Jenkins URL和地址上的前缀相同即可

保存后进入全局工具配置

image-20230428152248824

添加对应版本的NodeJS

进入插件管理

image-20230428152611905

选择可用插件

Generic Webhook Trigger Plugin

通过webhook触发器构建(必装)

Publish Over SSH

将构建后的编译产出发布到服务器(可选)

Qy Wechat Notification Plugin

将构建情况发送到企业微信(可选)

根据个人实际需求安装需要的插件

test配置

源码管理

先拉取git代码,指定分支这里为test分支

image-20230428144801142

构建触发器

接着当git的webhook触发时拿到请求的content,提取出 ref:哪个分支 commitsMessage:提交时的消息 commitsName:提交人

image-20230428144845407

image-20230428145425489

注意要先点击三次新增,然后选择三次JSONPath 再填写内容

ref
$.ref
commitsMessage
$.commits[0].message
commitsName
$.commits[0].author.name

image-20230428144954779

image-20230428145058323

token里和Webhook中的token相同

image-20230428145547412

Print post content

Print contributed variables

打开打印信息

这里的filter时过滤如果提交时的ref来源为refs/heads/test分支,并且提交的commitsMessage为build时执行打包编译,避免每次提交都打包

构建环境

image-20230428145748353

构建环境选择对应的node版本,这个老项目只能用node14,具体的在系统管理-全局工具配置-NodeJS 中配置

image-20230428145952772

选择对应的nodejs版本如果不知道就在本地执行命令查看当前使用的版本

node -v

Build Steps

image-20230428150309936

新增一个执行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 目录

所以打包后直接删除并移动文件即可

构建后操作

image-20230428150727863

部署人:$commitsName

这里我使用的是企业微信通知,也可以使用钉钉或者邮件

Master配置

配置和上面大致都相同,只显示不同部分

image-20230428150931048

^refs/heads/master_build*
$ref_$commitsMessage

image-20230428151004486

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/

image-20230428151119009

部署人:$commitsName
打包地址:[https://www.xxx.com/fertileWoman/build/dist.tar.gz](https://www.xxx.com/fertileWoman/build/dist.tar.gz)
版权声明:本文为BIMiracle原创,依据CC BY-SA 4.0许可证进行授权,转载请附上出处链接及本声明。
暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇