Jenkins+gitee 搭建自动化部署

Jenkins+gitee 搭建自动化部署

环境说明:

软件 版本 备注
CentOS 8.5.2111
JDK 1.8.0_211
Maven 3.8.8
git 2.27.0
Jenkins 2.319 最好选稳定版本,不然安装插件有点麻烦

一、安装Jenkins程序

1、到官网下载相应的版本war或者直接使用yum安装

Jenkins官网下载

直接使用wget指令下载,例

复制代码
wget https://mirrors.huaweicloud.com/jenkins/war/2.319/

2、直接运行war

复制代码
java -jar jenkins.war --httpPort=8888

3、浏览器打开服务器本机链接8888

复制代码
http://127.0.0.1:8888

第一次登录需要查看控制台输出的密码或者直接执行指令查看密码,账号是admin

复制代码
cat /var/lib/jenkins/secrets/initialAdminPassword

4、登录后进行安装插件

需要使用maven、git、gitee插件


5、配置Global Tool Configuration参数



6、生成gitee的令牌

7、配置Configure System参数

主要是Jenkins Location和Gitee 配置两项


二、安装maven

1、到官网下载tar包

复制代码
wget https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz

2、解压maven包

复制代码
tar -zxvf apache-maven-3.8.8-bin.tar.gz

3、配置settings.xml文件

添加阿里云镜像仓库

复制代码
 <mirror>
        <id>alimaven</id>
        <mirrorOf>central</mirrorOf>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
     </mirror>

4、配置环境变量

复制代码
添加环境变量
vim ~/.bash_profile

例如:
export MAVEN_HOME=/opt/maven/apache-maven-3.8.8
PATH=$PATH:$HOME/bin:$MAVEN_HOME/bin

使环境变量生效
source ~/.bash_profile

5、验证安装是否成功

(jdk安装参考maven安装)

三、配置项目自动构建

1、创建构建任务


2、配置任务信息

General和Source Code Management

如果令牌不存在,就重新添加并选择,如果还不行就直接选择添加gitee的账号密码并选择

Build Triggers

Post Steps

jenkins_test_start.sh文件

复制代码
#!/bin/bash
port=8099
echo '根据端口号查询对应的pid'
pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }');
echo '杀掉对应的进程'
if [ -n "$pid" ]
then
   echo "kill -9 的pid:" $pid
   kill -9 $pid
fi
#删除原来的jar包
rm -rf /opt/project/jenkins-test/jenkens-test-0.0.1-SNAPSHOT.jar
echo "启动jar包"
BUILD_ID=dontKillMe
nohup java -Xms10m -Xmx20m -jar /opt/project/jenkins-test/jenkens-test-0.0.1-SNAPSHOT.jar --server.port=8099  > output.log 2>&1 &
echo '启动完成'

选择保存并应用

3、配置gitee的webhook参数

选择对应的代码库,webhook的作用是为了idea提交代码到gitee仓库后会触发jenkins构建项目

四、构建项目


或者使用开发工具直接提交代码到gitee代码仓库也会触发构建项目

这样就大功告成了

相关推荐
江畔何人初20 小时前
pod的内部结构
linux·运维·云原生·容器·kubernetes
齐鲁大虾20 小时前
Linux下用什么编程语言方便开发B/S架构程序
linux·运维·架构
三块钱079421 小时前
群晖docker部署Mattermost,对接openclaw
运维·docker·容器
疯狂的维修21 小时前
关于catia中DMU运动学分析的应用
自动化
博客-小覃21 小时前
内网穿透/端口映射之二层穿透访问”FTP共享文件“示例操作教程
运维·服务器·网络
珠海西格21 小时前
光伏电站全景感知体系:数据采集与设备状态监测技术
大数据·运维·服务器·数据库·人工智能
大黄说说1 天前
深入理解 Linux 权限机制:文件、用户与访问控制全解析
linux·运维·服务器
2301_772204281 天前
Linux 驱动开发:杂项设备驱动与自动设备号管理
linux·运维·驱动开发
黄昏晓x1 天前
Linux----缓冲区
linux·运维·服务器
2501_924878731 天前
AdAgent 能力成熟度模型:从 L1 自动化到 L5 自主增长引擎
运维·自动化