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参考下篇文章

相关推荐
ai小鬼头4 小时前
Ollama+OpenWeb最新版0.42+0.3.35一键安装教程,轻松搞定AI模型部署
后端·架构·github
互联网搬砖老肖4 小时前
运维打铁: MongoDB 数据库集群搭建与管理
运维·数据库·mongodb
Antonio9154 小时前
【音视频】HLS简介与服务器搭建
运维·服务器·音视频
艾伦_耶格宇5 小时前
【docker】-1 docker简介
运维·docker·容器
R.X. NLOS5 小时前
VS Code远程开发新方案:使用SFTP扩展解决Remote-SSH连接不稳定问题
运维·服务器·ssh·debug·vs code
cuijiecheng20186 小时前
Ubuntu下布署mediasoup-demo
linux·运维·ubuntu
李大玄9 小时前
Google浏览器拓展工具 "GU"->google Utils
前端·javascript·github
每天吃饭的羊9 小时前
github上部署自己的静态项目
github
jingyu飞鸟10 小时前
linux系统源代码安装apache、编译隐藏版本号
linux·运维·apache
泰勒朗斯10 小时前
如何在新机器上设置github完成内容git push
git·github