jenkin自动化代码上线

 介绍

Jenkins是一款开源自动化服务器,旨在自动化连续集成和交付软件所涉及的重复技术任务。 Jenkins是基于Java的,可以从Ubuntu软件包安装,也可以通过下载和运行其Web应用程序ARchive(WAR)文件进行安装 - 构成一个完整的Web应用程序的集合,该文件旨在在服务器上运行。

ubantu 安装jenkins

将存储库密钥添加到系统

wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
#添加密钥后,系统将返回OK

将Debian包存储库地址附加到服务器的sources.list

echo deb http://pkg.jenkins.io/debian-stable binary/ | tee /etc/apt/sources.list.d/jenkins.list

运行update ,以便apt-get将使用新的存储库

apt-get update

安装Jenkins及其依赖项,包括Java

apt-get install jenkins

指定早期版本安装

apt-get install jenkins=2.138.1

启动jenkins

jenkins配置文件在/etc/default/jenkins   如果启动不成功可能是8080端口被占用,在该文件里可以修改jenkins启动端口

启动Jenkins

systemctl start jenkins
systemctl status jenkins    #查看jenkins状态

安装maven环境

下载maven

apache maven官网地址:http://maven.apache.org/download.cgi

 找到Link列下的“apache-maven-3.5.2-bin.tar.gz“进行下载

安装配置maven

解压maven:
tar zxvf apache-maven-3.5.2-bin.tar.gz -C /usr/local/

配置maven环境变量:

vim /etc/profile
export M2_HOME=/usr/local/apache-maven-3.5.2/
export CLASSPATH=$CLASSPATH:$M2_HOME/lib
export PATH=$PATH:$M2_HOME/bin


#使文件生效:
source /etc/profile

查看maven版本信息

mvn -v
Apache Maven
3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T15:58:13+08:00) Maven home: /opt/maven/apache-maven-3.5.2 Java version: 1.8.0_151, vendor: Oracle Corporation Java home: /opt/jdk1.8.0_151/jre Default locale: zh_CN, platform encoding: UTF-8 OS name: "linux", version: "4.4.0-98-generic", arch: "amd64", family: "unix"

jenkins使用

 

进入系统管理

在插件管理安装gitlab和ssh插件

在全局工具配置 配置maven和git的环境

新建一个任务

 配置gitlab的的连接

配置代码上线过程

1.执行/bin/bash 61peizhiwenjian.sh  脚本修改代码配置文件  #jenkins环境变量,将脚本放置在该工程的目录下即可以用相对路径执行脚本

配置文件脚本
#!/bin/bash
#name:wangkang
#作用:替换61环境的代码配置文件
ydz=/var/lib/jenkins/workspace/nongxianpeizhi/245peizhi
mbdz=/var/lib/jenkins/workspace/245nongxian2/guns-admin/src/main/resources
cp -fp $ydz/application.yml $mbdz

2.maven打包

3.执行上传脚本     执行前需要配置服务器间的秘钥

#!/bin/bash
#name:wk
#作用:代码上线
gclj=/var/lib/jenkins/workspace/245nongxian2              #jenkins工程路径    
dmlj=/var/lib/jenkins/workspace/245nongxian2/guns-admin/target          #代码war包所在的路径
tomcatlj=/usr/local/tomcat9/webapps                      #tomcat路径
dmbak=/media/hdd0/nongxian2bak                #代码备份路径
Ip=60.205.1.1                                          #上传到服务器的IP地址
[ -f $dmlj/nongxian2.war ] ||exit 
chown tomcat.tomcat $dmlj/nongxian2.war                   #将代码文件属主属组修改
ssh tomcat@$Ip "mv $tomcatlj/nongxian2.war $dmbak/nongxian2.`date +%F`.war"       #远程代码备份命令
scp $dmlj/nongxian2.war tomcat@$Ip:$tomcatlj                       #代码上线命令
rm -r $gclj/guns-*                                      #清空jenkins代码文件
原文地址:https://www.cnblogs.com/ywrj/p/10025337.html