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


到这就成功完成了构建了

相关推荐
Franklin8 小时前
VS 版本更新git安全保护问题的解决
git
G_whang10 小时前
jenkins部署前端vue项目使用Docker+Jenkinsfile方式
前端·vue.js·jenkins
我是一只代码狗12 小时前
idea中合并git分支
git
我是一只代码狗12 小时前
idea中使用git
git·gitee·github
恋喵大鲤鱼12 小时前
git restore
git·git restore
李少兄13 小时前
Git Commit Message写错后如何修改?已Push的提交如何安全修复?
git·安全
Fireworkitte13 小时前
git stash
git
有梦想的攻城狮16 小时前
快速搭建Maven仓库服务
java·maven·仓库·nexus
悟能不能悟17 小时前
mvn能只test单独一个文件吗
maven