之前就听过自动化部署程序,今天就试一把
我的环境是Vbox虚拟机Ubuntu1604
按照官方文档的步骤先搞定环境
安装
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins
有些可能第二条命令起不来,那就直接到 /etc/apt/路径下修改sources.list文件,添加这行
deb https://pkg.jenkins.io/debian binary/
安装完毕之后修改启动端口
vim /etc/default/jenkins
修改之后重启Jenkins
sudo /etc/init.d/jenkins restart
启动、停止命令
sudo /etc/init.d/jenkins start
sudo /etc/init.d/jenkins stop
这里也可以使用Jenkins的war来运行
war包的启动方式
默认启动在8080
java -jar jenkins.war &
启动在指定端口可以
nohup java -jar jenkins.war --httpPort=8080 &
安装Maven,Maven下载
下载好上传到服务器之后配置Maven的环境变量
MAVEN_HOME=/usr/local/maven/apache-maven-3.6.3 # 自己的目录
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
source /etc/profile #使环境变量生效
mvn -v
修改maven的源为阿里云,速度可以快一些
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
sudo apt-get install git # 安装Git
配置
重启之后就可以直接通过 IP+端口 访问了,第一次访问会告诉一个路径下有admin的密码
/var/lib/jenkins/secrets/initialAdminPassword
选择 安装推荐的插件
配置JDK、Git、Maven
新建任务时,没有这个选择,请安装Maven Integration 插件
填写项目的git地址
执行之前kill之前的项目进程
echo "准备停止jk"
PID=$(ps -ef | grep jk.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
echo Application is already stopped
else
echo kill -9 $PID
kill -9 $PID
fi
echo "停止jk完毕"
配置pom的打包,跳过测试
clean package -Dmaven.test.skip=true
配置构建时候的操作
BUILD_ID=DONTKILLME
echo "移动jar包到/var/jar/目录,并去掉版本号名称"
if [ ! -d "/var/jar/" ];then
mkdir /var/jar/
else
echo "文件夹已经存在"
fi
if [ ! -f "/var/jar/jk.jar" ];then
echo "文件不存在"
else
rm -f /var/jar/jk.jar
fi
mv -f /root/.jenkins/workspace/HelloWorld/target/jenkins-0.0.1-SNAPSHOT.jar /var/jar/jk.jar
echo "移动jar包完成"
echo "启动jk服务"
nohup java -jar /var/jar/jk.jar >/var/jar/log.txt &
echo "启动jk服务完成"
保存好配置之后就可以构建项目,下方就是可以看到构建的记录,蓝色表示构建成功
进入到打包的某个记录中,选择控制台输出可以看到此次的构建日志
Git推送自动构建
我用的是Gitee,所以再Jenkin里安装一个Gitee的插件,未安装里搜索叫Gitee,我这里是在已安装中搜的
Manage Jenkins - Configure System - Gitee配置
链接名随便填
Gitee域名就是Gitee的URL地址
证书令牌就是新增
Gitee API V5 的私人令牌( 获取地址)
工程配置
在上面的配置基础上进行
如果仓库私有就要添加一下gitee的凭证
在右下方生成WebHook密码之后再copy到git的项目仓库中
在仓库管理里生成,url就是上面图中圈出的地址:URL: http://10.1.4.215:8080/gitee-project/HelloWorld,因为要公网的,所以我这里就生成不了
至此就配置完了
卸载Jenkins
sudo apt-get remove jenkins
sudo apt-get remove --auto-remove jenkins
sudo apt-get purge jenkins
sudo apt-get purge --auto-remove jenkins