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代码仓库也会触发构建项目

这样就大功告成了

相关推荐
厦门辰迈智慧科技有限公司1 小时前
排水管网实时监测筑牢城市安全防线
网络·物联网·安全·自动化·监测
qq_218753312 小时前
服务器查日志太慢,试试grep组合拳
运维·服务器
Jie_173 小时前
【linux】高可用集群Keepalived
linux·运维·服务器
思绪漂移3 小时前
阿里云【免费试用】Elasticsearch 智能运维 AI 助手
运维·elasticsearch·阿里云
21号 14 小时前
4.应用层自定义协议与序列化
运维·服务器·网络
zzywxc7875 小时前
AI在编程、测试、数据分析等领域的前沿应用(技术报告)
人工智能·深度学习·机器学习·数据挖掘·数据分析·自动化·ai编程
墨迹的陌离6 小时前
【Linux】重生之从零开始学习运维之Mysql
linux·运维·服务器·数据库·学习·mysql
Ray Song6 小时前
Linux DNS解析1--终端通过网关或者路由器进行域名解析的原理
linux·运维·服务器·dns解析
风起云涌~6 小时前
【Android】桌面小组件开发
android·gitee
2025年一定要上岸6 小时前
【pytest高阶】源码的走读方法及插件hook
运维·前端·python·pytest