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. 部署成功


到这就成功完成了构建了

相关推荐
Winlifes4 天前
我给 Codex 做了一个 Git 面板:分支树、提交历史和工作区操作
git
不吃香菜kkk、4 天前
CI/CD(GitOps)学习与部署手册
运维·云原生·容器·kubernetes·云计算·jenkins·argocd
2601_953824614 天前
基于SSM的水果超市管理系统
java·tomcat·maven
明月_清风5 天前
Maven 到底是什么?一篇文章搞懂 Java 项目构建与依赖管理
java·后端·maven
郑州光合科技余经理5 天前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
我命由我123455 天前
Git 推送报错:error: src refspec main does not match any
运维·git·gitee·github·运维开发·学习方法·版本控制
Lcr3s5 天前
Git基础之(0):如何在Ubuntu(Linux)上安装git
git
今年下半年5 天前
SpringBoot整合金蝶中间件
spring boot·中间件·maven
玄芯散人6 天前
【筑基·058】Git协作工作流:冲突解决和PR流程
git·版本控制·团队协作
寺中人6 天前
Git 版本控制完全入门指南:从安装到实战,提交 + 分支 + 协作 + 冲突解决全拆解
git·开发工具·版本控制·团队协作·代码管理