jenkins配置svn、gradle、ssh

1.先说下实现的效果,从svn拉取代码、调用gradle编译构建、将构建包分发到部署服务器并备份原来的部署包;

2.直接从http://mirrors.jenkins-ci.org/war/latest/jenkins.war 下载最新的war包。

启动方法: java  -jar jenkins.war 即可,如果要以后台进程的方式启动,改成nohup java -jar jenkins.war & 即可;

加 --httpPort指定运行端口;

jdk、gradle这种依赖插件要先配置好;

image

这里设置一下JENKINS_HOME环境变量,这样,所下载的插件产生的数据都会到指定的目录里;不配的话默认是在home目录;

3.具体配置如图

image

a、这里,可以更新需要的插件,这里用的jenkins1.652,更新插件时,svn插件不要更新了;刚开始更新后,从svn拉代码一直出错;可能是插件的兼容性问题;

b、系统配置里

image

image

配置好jdk、gradle、shell

 

c、装下Publish over SSH插件

image

 

图1填写密码也可不填,图2填私钥所在路径,图3填私钥值,图4填默认远程目录

这里的私钥可以用   ssh-keygen -t rsa  生成,将生成的公钥值放到远程服务器的authorized_keys 文件里,即可免码登录;

 

d、新建条目,配置如下

image

图上配置项目名称、svn地址、svn登录名、密码,及本地目录;

 

image

 

图上1,任务脚本;

图2根路径,

图3构建脚本;

图4构建后的war包路径;

图5将war包路径拷贝到远程目录中所排除的路径部分,即我只需要拷贝一个war包,不需要它的父级目录;

图6拷贝到远程的目录,注意这个是相对目录,相对之前配置的ssh远程目录;

图7远程脚本文件,在拷贝完之后执行;这个脚本主要是将远程部署目录的工作包备份到历史文件夹,再把tmp中新的包覆盖工作包;

执行脚本:

#!/bin/bash
#_his='/usr/local/myapp/history/cbb_web'
#_deploy='/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/deploy'
#_jar='icustoms-cbb-pre-1.0.war'

_his='/usr/local/myapp/history/cbb_robot'
_deploy='/home/weblogic/apps/cbb-robot'
_jar='cbb-sender-sh-pre-robot-1.0.jar'

cp ${_deploy}/${_jar} ${_his}/$(date +%Y%m%d-%H%M%S)_${_jar} -fr
mv ${_his}/tmp/${_jar} ${_deploy}

 

e、多次编译分发

image

重复图上的这两步,就可以完成一次构建中多次编译、分发部署;图上的CIFS Publish插件是分发到windows目录;

 

f、创建节点服务器,可以将构建任务委托给节点服务器去做;

image

posted @ 2016-03-10 17:49  sl521100  阅读(3235)  评论(0编辑  收藏  举报