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

这样就大功告成了

相关推荐
一行12 小时前
docker配置国内源
运维·docker·容器
不爱学英文的码字机器3 小时前
[操作系统] 进程程序替换
linux·运维·服务器
da pai ge3 小时前
DevOps的个人学习
运维·学习·devops
spt_dream3 小时前
DevSecOps,DevOps的进阶
运维·网络·安全
WSSWWWSSW3 小时前
DevOps 所需的行为
运维·数据库·devops
垚垚 Securify 前沿站6 小时前
深入剖析 Apache Shiro550 反序列化漏洞及复现
运维·网络·安全·web安全·系统安全·apache
薛定谔的猫-菜鸟程序员8 小时前
Vue 3 + Vite + JS 项目中实现组件全局自动化注册的魔法,极致组件自动化注册方案,开发效率飙升300%。
javascript·vue.js·自动化
风虎云龙科研服务器10 小时前
DeepSeek服务器繁忙之谜:原因与解决方案
运维·服务器·人工智能·科技·深度学习
计算机毕设定制辅导-无忧学长10 小时前
Git 钩子的应用与自动化流程
运维·git·自动化