环境
CentOS+JDK7+MAVEN3.2+SVN/GIT
SVN安装
yum install -y subversion
一.下载并运行Jenkins
地址:http://jenkins-ci.org/
运行
1.放到Tomcat下运行,访问地址host:port/jenkins
2.或者通过命令 java -jar jenkins.war 运行,访问地址 host:port
启动后会在用户目录下创建 .jenkins 文件夹
基本配置
“系统管理→系统设置”配置JDK,MAVEN,SVN
二.安装Publish Over SSH插件
1.安装
在“系统管理→管理插件→可选插件→Artifact Uploaders→Publish Over SSH”,勾选Publish Over SSH插件,选择直接安装
2.配置
在“系统管理→系统设置→Publish Over SSH Plugin“,配置示例如下:
公共配置:
Passphrase:密码(key的密码,如果你设置了)
Path to key:key文件(私钥)的路径
Key:将私钥复制到这个框中
Disable exec:禁止运行命令
私有配置:
SSH Server Name:标识的名字(随便你取什么)
Hostname:需要连接ssh的主机名或ip地址(建议ip)
Username:用户名
Remote Directory:远程目录
Use password authentication, or use a different key:可以替换公共配置(选中展开的就是公共配置的东西,这样做扩展性很好)
私有配置的高级:
Port:端口(默认22)
Timeout (ms):超时时间(毫秒)默认即可
Disable exec:禁止运行命令
Test Configuration:测试连接
三. 构建一个maven项目
配置如下:先安装依赖,后通过SSH拷贝到文件夹下,执行脚本运行 注:丢弃旧的构建最好勾选上
说明
1.项目checkout地址为 : ~/.jenkins/jobs/{项目名称}/workspace ,这部分不用填写
2.Cron Expression语法,看我另一个帖子 http://sgq0085.iteye.com/blog/2202658
Pre Steps
可以在Pre Steps步骤中安装依赖,POM需要直接指向需要的POM文件,地址为项目目录相对地址,不需要“/”开头,比如
SSH Publishers配置说明:
Transfer Set Source files:需要上传的文件(注意:相对于工作区的路径。看后面的配置可以填写多个,默认用,分隔)
Remove prefix:移除目录(只能指定Transfer Set Source files中的目录)
Remote directory:远程目录(根据你的需求填写吧,因为我这儿是测试,所以偷懒没有填写。默认会继承系统配置)
Exec command:把你要执行的命令写在里面
四.执行脚本
publish.sh
#!/bin/bash #defined TOMCAT_HOME="/root/jenkins/save/apache-tomcat-7.0.61" TOMCAT_PORT=80 PROJECT=adp-web SAVE_DIR="/root/jenkins/save" #shutdown tomcat "$TOMCAT_HOME"/bin/shutdown.sh echo "tomcat shutdown" #publish project echo "$PROJECT publishing" rm -rf "$TOMCAT_HOME"/webapps/$PROJECT* cp "$SAVE_DIR"/$PROJECT.war "$TOMCAT_HOME"/webapps/$PROJECT.war #bak project BAK_DIR="$SAVE_DIR"/bak/$PROJECT/`date +%Y%m%d` mkdir -p "$BAK_DIR" cp "$TOMCAT_HOME"/webapps/$PROJECT.war "$BAK_DIR"/"$PROJECT"_`date +%H%M%S`.war #remove tmp rm -rf "$SAVE_DIR"/$PROJECT*.war #start tomcat "$TOMCAT_HOME"/bin/startup.sh echo "tomcat is starting,please try to access $PROJECT conslone url" 1
五.通过Execute shell执行tomcat被关闭的解决方法
加BUILD_ID,类似下列这样
BUILD_ID=pleaseDontKillMe /export/servers/tomcat/bin/startup.sh
六. 补充GIT
1.安装git
apt-get install git yum install git-core
2.测试git
新建一个文件夹执行 git clone http://xxxx.xxx.xxx/xxx/xxx
3.git clone 提示:fatal: Authentication failed for “someurl”
这个问题可能因为你访问的不是公开项目,需要输入密码,但也不一定,有时公开项目也会输入密码,你只能
git clone http://username:passwd@some.com/project-path 这样来访问,但是这样不方便,怎么能不输入密码呢?
可以在自己的home目录下创建.netrc文件,里面写上:
machine 目标服务器的域名
login 你用于访问服务器的用户名
password 你用于访问的密码
4.git clone https://xxxx 失败
首先设置 git config --global http.sslVerify false
设置后若总是提示:result=22, httpcode = 200
则将https改成git,先clone只读的仓库
然后进入仓库目录,修改目录下的.git/config中的url,将git改成https
这样修改后就能push了
5.jenkins安装git
安装git plugin, 通常情况下git plugin可以直接在jenkins的management plugin可以直接安装,但是由于我这边环境有防火墙看不到plugin的东西
所以只能直接在jenkins的官网上下载plugin安装
需要一并安装的plugin包括:
https://wiki.jenkins-ci.org/display/JENKINS/SCM+API+Plugin https://wiki.jenkins-ci.org/display/JENKINS/Icon+Shim+Plugin https://wiki.jenkins-ci.org/display/JENKINS/Credentials+Plugin https://wiki.jenkins-ci.org/display/JENKINS/Git+Client+Plugin https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin
按顺序安装 并每次重启
plugin插件在附件中提供下载
6.源码管理修改为git