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

这样就大功告成了

相关推荐
東雪蓮☆19 分钟前
使用 Shell 脚本监控服务器 IOWait 并发送邮件告警
linux·运维·服务器
我是海飞1 小时前
外置flash提示音打包脚本
运维·服务器·音视频·嵌入式
Source.Liu1 小时前
【Python自动化】 21.2 Pandas 读取 Excel 时的 dtype 参数完全指南
python·自动化·pandas
etcix2 小时前
for my debian 12 mxlinux install the podman
运维·debian·podman
努力努力再努力wz2 小时前
【c++进阶系列】:万字详解AVL树(附源码实现)
java·运维·开发语言·c++·redis
jingfeng5142 小时前
应用层自定义协议与序列化
运维·服务器·网络
egoist20233 小时前
[linux仓库]性能加速的隐形引擎:深度解析Linux文件IO中的缓冲区奥秘
linux·运维·开发语言·缓存·缓冲区
切糕师学AI3 小时前
持续集成和持续交付 (CI/CD) 工具——Jenkins
运维·ci/cd·jenkins
ZYMFZ3 小时前
Linux系统shell脚本(四)
linux·运维·服务器