jenkins一键部署github项目

个人目前理解jenkins部署分为两步:

  1. 构建项目,如生成jar
  2. 自动执行sh脚本
    如果没有jenkins,我们可能需要将jar移动到服务器,然后执行java -jar跑程序,jenkins可以替代我们执行这些东西,下面从0开始(仅供参考,也是个人记录)

为啥不用docker安装jenkins,因为坑多,下面步骤,如果你们系统有jdk,mvn,git环境,就自动跳过
文末提供演示案例

安装jdk1.8环境(最新版本的jenkins需要jdk11+)

bash 复制代码
cd /usr/local

mkdir java

cd java

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"

tar  -zxvf  jdk-8u141-linux-x64.tar.gzrm -rf jdk-8u141-linux-x64.tar.gz

vim /etc/profile

export JAVA_HOME=/usr/local/java/jdk1.8

export PATH=$PATH:$JAVA_HOME/bin

source /etc/profile

java -version

echo $JAVA_HOME

安装mvn环境

bash 复制代码
cd /usr/local

mkdir maven

wget https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz --no-check-certificatetar -zxvf apache-maven-3.6.1-bin.tar.gzrm -rf apache-maven-3.6.1-bin.tar.gz

cd /usr/local/maven/

mkdir repo

vim conf/settings.xml 

#修改配置文件,找到如下修改
<localRepository>/usr/local/maven/repo</localRepository>

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

export MAVEN_HOME=/usr/local/maven/apache-maven-3.6.1 

export PATH=$MAVEN_HOME/bin:$PATH

source /etc/profilels

mvn -v

echo $MAVEN_HOME

安装git

bash 复制代码
yum install git -y

安装jenkins环境

bash 复制代码
#安装jenkins(最新版的jenkins需要jdk11,所以需要对应的版本信息)
wget https://repo.huaweicloud.com/jenkins/redhat-stable/jenkins-2.346.3-1.1.noarch.rpm

rpm -ivh jenkins-2.346.3-1.1.noarch.rpm

echo $JAVA_HOME

#candidates添加JAVA_HOME路径
vim /etc/init.d/jenkins    

vim /etc/sysconfig/jenkins

#将JENKINS_USER="jenkins 改为 JENKINS_USER="root"
systemctl start jenkins

#设置jenkins开机自启动
systemctl enable jenkins.service

#查看jenkins运行状态
systemctl status jenkins.service

# cat /var/lib/jenkins/secrets/initialAdminPassword
#项目路径 /var/lib/jenkins/workspace/

配置jenkins

找到 Global Tool Configuration,这里的配置,都是自己安装的,不依赖jenkins,这样个人觉得可控

jenkins需要安装maven插件,在plugin那里,自行百度一下

测试jenkins一键部署

准备环境:

centos7

jenkins

java项目(github地址,由于github网络较差,我使用giteegitee地址,配置是一样的)

其他,docker,docker-compose(安装docker,docker-compose),模拟依赖mysql,redis

  1. 新建项目
    2. 配置
    账号密码自己搞一下,我比较懒

附上脚本

说明:先用mvn编译,再把脚本移到 /home/compose下,执行 start.sh

dos2unix Window文件转linux文件,没有就yum installl 下载一个

cp 里面有个$JOB_NAME,这个是jenkins的环境变量,也就是项目名称

jenkins会把项目文件放在/var/lib/jenkins/workspace里面

附:这套流程下来,会遇到各种问题,道友们自己加油解决,本身流程是没有问题的

bash 复制代码
echo "构建开始"
mvn clean install -Dmaven.test.skip=true
echo "构建成功"
echo '初始化部署脚本'
rm -rf /home/compose
mkdir /home/compose
chmod 777 /home/compose
cp /var/lib/jenkins/workspace/$JOB_NAME/src/main/docker/docker-compose.yml /home/compose/
cp /var/lib/jenkins/workspace/$JOB_NAME/src/main/docker/start.sh  /home/compose/
cp /var/lib/jenkins/workspace/$JOB_NAME/src/main/docker/Dockerfile  /home/compose/
cp /var/lib/jenkins/workspace/$JOB_NAME/target/compose-demo-1.0-SNAPSHOT.jar /home/compose/
echo '初始化脚本完成'
echo '执行shell脚本'
cd /home/compose
echo 'dos2unix格式化sh脚本'
dos2unix start.sh
sh start.sh
echo 'shell脚本执行成功'

道友们加油

成功结果:

jenkins pipeline-script参考下篇文章

相关推荐
m4Rk_4 小时前
【论文阅读】Agent 记忆机制(62):DCM-Agent——用双簇记忆化解优化问题的多范式冲突
论文阅读·人工智能·学习·开源·github
逛逛GitHub4 小时前
GPT-6 Astra 上线 24 小时,看看外网爆火的惊艳玩法。
github
golang学习记4 小时前
Cursor Origin:Cursor要造一个AI时代的Github
人工智能·github·cursor
u1301304 小时前
GitHub 热榜项目:日榜(2026-09-06)
github
海鸥815 小时前
AIOps(智能运维)理解
运维·人工智能
码农小韩5 小时前
Linux应用开发(一)——Linux的标准IO
linux·运维·服务器
路弥行至5 小时前
Linux (ARM64 / Jetson) 挂载 exFAT 移动硬盘排障与离线安装指南
linux·运维·服务器·经验分享·笔记·jetson·exfat
漫谈数据智理5 小时前
主动元数据为何是数据编织的核心——从“连接数据”走向“感知、理解与行动”的 Data Fabric
运维·fabric
数据库小学妹6 小时前
MySQL长事务复盘:Sleep连接、MDL排队与undo滞留
运维·数据库·mysql
云泽8086 小时前
Linux 系统编程实战:从零手写一个高性能终端进度条
linux·运维·服务器