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


到这就成功完成了构建了

相关推荐
骑鱼过海的猫1239 小时前
【git】git学习记录
git·学习·elasticsearch
invicinble11 小时前
idea提供maven处理机制
java·maven·intellij-idea
测试人社区—841611 小时前
Mocking与Stubbing在单元测试中的正确使用
人工智能·git·单元测试·自动化·bug·postman
真上帝的左手12 小时前
3. 代码管理-构建工具-Maven
java·maven
CryptoRzz13 小时前
对接印度股票市场数据 (India api) 实时k线图表
java·开发语言·python·区块链·maven
汪碧康13 小时前
【xkube】xkube 3.9版本新增支持jenkins、deployment的探针、节点污点、ingress的规则功能
运维·容器·kubernetes·jenkins·xkube·k8s助手
java_logo15 小时前
RUSTFS Docker 容器化部署指南
java·运维·docker·容器·jenkins·运维开发
milanyangbo15 小时前
像Git一样管理数据:深入解析数据库并发控制MVCC的实现
服务器·数据库·git·后端·mysql·架构·系统架构
猫头虎-人工智能16 小时前
openEuler远程批量部署实战 SSH VNC IPMI全流程解析
运维·git·开源·ssh·github·开放原子·开源软件
weixin_3077791316 小时前
Jenkins Metrics 插件全解析:从数据采集到智能监控的实践指南
运维·开发语言·架构·jenkins