以前使用jenkins都是测试弄得,只不过之前自己来玩了下,里面的配置其实应该是只将需要的jar包上传或者覆盖掉远程服务器上面然后再restart程序(http://blog.csdn.net/qq_20641565/article/details/79132797),而非上传整个tar包到远程再解压。但是下面的内容我也不想修改了,将就看看吧。

jenkins是一个很好用的自动化构建工具用于开发测试的持续集成。

当我们开发系统的时候,经常需要打包扔到测试环境执行,这个步骤很固定但是又很繁琐,特别是在做测试的时候,可能改了bug又要重新打包扔测试环境去,特别是很短时间内改了N个bug,那要打包N次。

如果我们使用jenkins做持续集成,就是一劳永逸,先设置一些东西,到时候改完bug直接构建运行,方便快捷。

jenkins安装也很简单,就是一个war包,可以直接用:

java -jar jenkins.war

我还是喜欢将war用tomcat来管理。

安装的时候最好设置下jenkins的全局环境变量,到时候关于它的一些东西全都会放到该目录下,当然也可以在tomcat启动的时候指定jenkins的环境变量,只需要在catalina.sh加上如下的export即可,路径根据自己需求定义。

# OS specific support.  $var _must_ be set to either true or false.
export JENKINS_HOME="/data/apps/jenkins"

安装完成后,根据自己的需要下载一些插件,比如ssh、git或者svn等等插件。

然后去配置写全局插件,maven、git、jdk等等。

这里是maven的setting文件地址:

这里写图片描述

JDK的配置(需要自己安装jdk):

这里写图片描述

git的配置(需要在服务器上面安装git):

这里写图片描述

maven的配置(需要在服务器上面安装maven):

这里写图片描述

然后配置下系统设置:

这里表示保留几个构建,按照自己需求:

这里写图片描述

远程ssh命令插件:

这里写图片描述

ssh远程scp以及命令插件 publish over ssh

这里写图片描述

其中上面:

Passphrase 是你远程机器的密码
Path to key 是你本机私钥的地址
Key 本机私钥

注意这里私钥是本机而非远程

一般只将私钥粘贴到这里就行了,或者指定地址。

Remote Directory 是远程机器上面的根目录,到时候远程上传东西都是到这个里面,不配置就是默认的家目录(比如:root 就是/root)

ssh秘钥生成:

ssh-keygen -t rsa -C "你的名字"

公钥的拷贝:

ssh-copy-id  IP

然后来创建一个项目:

这里写图片描述

这里根据自己的需求

这里写图片描述

我用git作为测试,其中前提是自己已经将自己的公钥配置到了git上面。

注意:这里可能会报错:

Warning: Permanently added '10.0.4.147' (RSA) to the list of known hosts

如果配置正确还要报错,只需要vi /etc/ssh/ssh_config文件在最后面添加如下两行即可:

StrictHostKeyChecking no

UserKnownHostsFile /dev/null

这里写图片描述

这里可以配置cron表达式,表示什么时候自动检查构建项目:

这里写图片描述

这里可以在构建之前停止服务或者备份(这里是补的一个图):

这里写图片描述

这里让jekins打包:

这里写图片描述

这里就是使用ssh 发布到远程机器上面,并且解压,执行:

这里写图片描述

然后配置完成点击立即构建:

这里写图片描述

查看远程机器上面的进程是否存在:

这里写图片描述

整个流程如上.


其中测试用的java项目如下:

这里写图片描述

项目就是用assemb打成的tgz包,start.sh就是启动的MainClass

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐