Jenkins+maven+git(gogs)自动化构建打包+部署(项目实战)

  1. 安装Jenkins所需插件
  • Maven Integration
  • Publish Over SSH
  • Git

系统管理>插件管理>Available plugins。在此安装所需要的插件


  • 全部安装完成
  1. 配置Jenkins

系统管理>全局配置

  • JDK配置

这个jdk的目录是Jenkins容器里面的jdk目录,docker安装一般都是这个目录

  • Git配置
bash 复制代码
root@sdgs-server04:~# yum -y install git
#如果有执行一下命令查看路径
root@sdgs-server04:~# whereis git
git: /usr/bin/git /usr/share/man/man1/git.1.gz
  • Maven配置

Maven部署包下载、提取码:1021

上传部署包到挂载出来的目录

bash 复制代码
root@sdgs-server04:/home/data/jenkins_data# ll /home/data/jenkins_data/apache-maven-3.9.6-bin.tar.gz
-rw-r--r-- 1 root root 9410508 Oct 24 16:30 /home/data/jenkins_data/apache-maven-3.9.6-bin.tar.gz
#解压maven部署包
root@sdgs-server04:/home/data/jenkins_data# tar -xf apache-maven-3.9.6-bin.tar.gz

修改maven配置

bash 复制代码
vim apache-maven-3.9.6/conf/settings.xml


改为以下内容:

bash 复制代码
  <mirrors>
    <mirror>
    <id>aliyunmaven</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun maven</name>
    <url>https://maven.aliyun.com/repository/public</url>
    </mirror>
  </mirrors>

放开maven私有库地址

bash 复制代码
<localRepository>/var/jenkins_home/cwh</localRepository>
#/var/jenkins_home/cwh 目录是在容器里面的目录 
#创建目录
mkdir cwh
#在挂载出来的目录进行创建,也就是:/home/data/jenkins_data
root@sdgs-server04:/home/data/jenkins_data# chown -R jenkins:jenkins apache-maven-3.9.6 cwh

页面配置maven

在Jenkins页面 默认都是找容器里面的目录,所以要把maven安装在Jenkins挂载出来的目录里面

  1. 创建任务


填写完之后如下图:

新增密码

配置Root POM和Goals and options

bash 复制代码
SDGS-YHJC/pom.xml
clean package -pl sdgs-modules/sdgs-road --am -Dmaven.test.skip=true

解释一下这个位置为什么这么配置:

Root POM文件:比如你这个项目分支下 第一页目录是SDGS-YHCJ你点进去之后有pom.xml文件。那么这个里面肯定是父POM文件,所以要加上目录

Goals and options:-pl sdgs-modules/sdgs-road 这些参数是为了指定这个分支下 子系统的构建 比如进去了SDGS-YHCJ文件夹,里面还有很多子系统 这时候通过这个参数指定子系统的目录即可。--am 参数表示自动激活所需的项目。当使用 -pl 参数指定构建的项目模块时,--am 告诉 Maven 自动激活这些项目及其依赖项,确保构建所需的项目被激活。-Dmaven.test.skip=true跳过测试,直接打包。

配置完保存即可

  1. 配置SSH(把编译好的包发送到对应机器的目录)

系统管理>系统配置

  1. 开始构建

  2. 构建成功

  3. 配置任务,添加构建完之后的操作



上图的Exec command里面可以写一些更新系统的命令 就当在Linux执行一样就行

  1. 保存完重新构建
  1. 部署成功


到这就成功完成了构建了

相关推荐
OYangxf42 分钟前
Git Commit Message
运维·git
芯有所享1 小时前
【芯片设计中的版本管理:Git与SVN的实战选择指南】
经验分享·git·svn
开发者联盟league1 小时前
解决git报错 filename too long
git
jian110582 小时前
android studiod git在git reset origin/main以后,会有删了又新建的导包问题
git
搬砖的梦先生6 小时前
Codex 小步迭代 + Git Commit + 多任务并行组合版
大数据·git·elasticsearch
phltxy8 小时前
Redis Java 集成到 Spring Boot
数据库·redis·git
空太Jun8 小时前
Git 使用学习笔记
笔记·git·学习
空中海9 小时前
Git-01:基础篇 — 版本控制与日常操作
git·学习
tianyuanwo9 小时前
庖丁解牛:Jenkins 任务队列管理完全指南
jenkins·task队列管理
TE-茶叶蛋10 小时前
JetBrains IDE(如 IntelliJ IDEA)的 Git 面板
ide·git·intellij-idea