看到别人用jenkins代替手动打包发布,很是羡慕,因此尝试一下。
先说背景:用的阿里ecs云服务器,为了一次成功,尽量用CLI安装,避免了大部分配置,但缺点是不够灵活。废话不说,看怎么一步步让小老头跑起来。java
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
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
访问8080出现了个小老头,看起来和善可亲python
,可是当你jenkins系统弄的出问题以后,他就变成了恶魔老头git
>>
github
这个好玩的变化不知道他兄弟hudson有没有。可是一般咱们不但愿8080给小老头,因此咱们须要修改默认端口,这地方比较坑,须要修改两个地方。web
选择maven,项目构建,若是没有maven项目选项那么你须要下载maven插件,具体的下载地方在系统管理里面服务器
下载这个插件,而后新建项目,在这里大多数同窗都是使用git进行的项目管理,下面是我配置的图片一看就明白oracle
而后点击保存,到主页去构建这个job,那么如今进行到这一步,咱们的计划达到了哪一步?
如今咱们能够把代码上传到github上的代码,而后再jenkins上构建,就会在服务器上生成jar文件,接下来咱们要作的任务就是java -jar运行到这个jar包。固然咱们最但愿的是构建结束以后,jenkins给咱们自动运行,这样才发挥jenkins的做用。
因此,找到项目添加其余的配置。maven
如图所示,这是构建完成的动做,写上脚本让他自动运行。tcp
# 咱们要在这里启动个进程 因此告诉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 &
代码有点丑,等有时间优化一下。
未完待续...函数