使用jenkins进行持续集成

看到别人用jenkins代替手动打包发布,非常羡慕,所以尝试一下。
先说背景:用的阿里ecs云服务器,为了一次成功,尽可能用CLI安装,避免了大部分配置,但缺点是不够灵活。废话不说,看怎么一步步让小老头跑起来。

1、安装oracle-jdk

sudo apt-get install python-software-properties 
sudo apt-get install software-properties-common

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default

2、安装jenkins

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

3、修改端口

访问8080出现了个小老头,看起来和蔼可亲

,但是当你jenkins系统弄的出问题之后,他就变成了恶魔老头

使用jenkins进行持续集成 >>
使用jenkins进行持续集成

这个好玩的变化不知道他兄弟hudson有没有。但是通常我们不希望8080给小老头,所以我们需要修改默认端口,这地方比较坑,需要修改两个地方。

  1. 检查 /etc/init.d/jenkins 脚本,修改 do_start 函数的 check_tcp_port 命令,端口号从 8080 换成 8082
  2. 修改/etc/default/jenkins 中HTTP_PORT=8082

4、在jenkins主页中,新建maven项目,新建一个任务

使用jenkins进行持续集成

选择maven,项目构建,如果没有maven项目选项那么你需要下载maven插件,具体的下载地方在系统管理里面

使用jenkins进行持续集成
下载这个插件,然后新建项目,在这里大多数同学都是使用git进行的项目管理,下面是我配置的图片一看就明白

使用jenkins进行持续集成

使用jenkins进行持续集成

使用jenkins进行持续集成
然后点击保存,到主页去构建这个job,那么现在进行到这一步,我们的计划达到了哪一步?
现在我们可以把代码上传到github上的代码,然后再jenkins上构建,就会在服务器上生成jar文件,接下来我们要做的任务就是java -jar运行到这个jar包。当然我们最希望的是构建结束之后,jenkins给我们自动运行,这样才发挥jenkins的作用。
所以,找到项目添加其他的配置。

使用jenkins进行持续集成

使用jenkins进行持续集成
如图所示,这是构建完成的动作,写上脚本让他自动运行。

5、最后的代码部分

# 我们要在这里启动个进程 所以告诉jenkins不要杀死我
BUILD_ID=dontKillMe
#目标文件夹   这两个变量按自己的喜好来 我只是简单的配置了下
DIR=/var/lib/jenkins/workspace/renting_server/target/
JARFILE=Renting-0.0.1-SNAPSHOT.jar

#如果进程存在那么杀死进程
ps -ef | grep $JARFILE | grep -v grep | awk '{print $2}' | xargs kill -9

# 接下来的两句是真正运行jar包的  
cd $DIR
nohup java -Dhudson.util.ProcessTree.disable=true  -jar $JARFILE  &

代码有点丑,等有时间优化一下。
未完待续...

相关推荐