jenkins一键部署github项目

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

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

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

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

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环境

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

yum install git -y

安装jenkins环境

#安装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一键部署github项目_第1张图片jenkins一键部署github项目_第2张图片jenkins一键部署github项目_第3张图片
jenkins一键部署github项目_第4张图片

测试jenkins一键部署

准备环境:
centos7
jenkins
java项目(github地址,由于github网络较差,我使用giteegitee地址,配置是一样的)
其他,docker,docker-compose(安装docker,docker-compose),模拟依赖mysql,redis

  1. 新建项目
    jenkins一键部署github项目_第5张图片2. 配置
    账号密码自己搞一下,我比较懒
    jenkins一键部署github项目_第6张图片jenkins一键部署github项目_第7张图片

附上脚本

说明:先用mvn编译,再把脚本移到 /home/compose下,执行 start.sh
dos2unix Window文件转linux文件,没有就yum installl 下载一个
cp 里面有个$JOB_NAME,这个是jenkins的环境变量,也就是项目名称
jenkins会把项目文件放在/var/lib/jenkins/workspace里面
附:这套流程下来,会遇到各种问题,道友们自己加油解决,本身流程是没有问题的

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一键部署github项目_第8张图片
jenkins pipeline-script参考下篇文章

你可能感兴趣的:(jenkins,github,运维)