看到别人用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系统弄的出问题之后,他就变成了恶魔老头
>>
这个好玩的变化不知道他兄弟hudson有没有。但是通常我们不希望8080给小老头,所以我们需要修改默认端口,这地方比较坑,需要修改两个地方。
- 检查 /etc/init.d/jenkins 脚本,修改 do_start 函数的 check_tcp_port 命令,端口号从 8080 换成 8082
- 修改/etc/default/jenkins 中HTTP_PORT=8082
4、在jenkins主页中,新建maven项目,新建一个任务
选择maven,项目构建,如果没有maven项目选项那么你需要下载maven插件,具体的下载地方在系统管理里面
下载这个插件,然后新建项目,在这里大多数同学都是使用git进行的项目管理,下面是我配置的图片一看就明白
然后点击保存,到主页去构建这个job,那么现在进行到这一步,我们的计划达到了哪一步?
现在我们可以把代码上传到github上的代码,然后再jenkins上构建,就会在服务器上生成jar文件,接下来我们要做的任务就是java -jar运行到这个jar包。当然我们最希望的是构建结束之后,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 &
代码有点丑,等有时间优化一下。
未完待续...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。