在windows环境下使用Jenkins自动集成代码
描述:
局域网电脑A是本地服务器,安全win7系统,安装了Jenkins;现在想让A成为测试服务器,需要隔一段时间从SVN里同步出最新的代码,供客户端测试。
之前使用的线上测试服务器,是Linux的。Jenkins支持SSH自动集成代码。
想法:
只要电脑A支持SSH,就可以使用Jenkins自动集成代码了。
解决:
windows安装SSH服务器
1.使用方法:下载MobaSSH Home点击安装,这样它会自动建立一个sshdsvc帐号并开通SSH server服务,在setting中勾选Enable Cron Service
,重启Moba SSH服务即可。(一定要勾选Enable Cron Service
,否则总提示密码错误)
下载地址:http://mobassh.mobatek.net/
2.测试本机连通性,这需要一个SSH客户端,像putty或SSH Secure Shell都可以,以SSH Secure Shell为例:
输入HOST name为127.0.0.1,User Name为你的当前计算机系统登陆用户名(推荐设置一个密码,因为SSH有时候会拒绝空密码)其他默认。
参考:配置SSH Server用于远程登录
http://blog.sina.com.cn/s/blog_4a0a8b5d01015ao5.html
配置Jenkins
安装Publish Over SSH
到系统管理->管理插件->可选插件 搜索 Publish Over SSH 安装。
新建
构建一个*风格的软件项目
填写:
项目名称
描述
源码管理 选择Subversion Modules
输入 Repository URL ,例如http://192.168.36.180:81/svn/myapp/trunk/api3
会提示输入用户名密码认证。(Maybe you need to enter credential?)
源码库浏览器 选择你安装的SVN Server,例如:CollabNet,并填上SVN仓库地址,与Repository URL一致。
构建后操作:选择 Send build artifacts over SSH
SSH Publishers -> SSH Server 选择在系统设置里配的远程服务器,这里直接不能输入。
Transfers
Transfer Set Source files 填 /
Remote directory 填最终检出代码的地方,一般是www里的某个目录,可以被访问,例如/cygdrive/d/iDada/wamp/www/api3.idache.com/
系统设置
进入系统管理->系统设置:
需要配置SSH Servers,可以有多个:
Name 192.168.36.180
Hostname 192.168.36.180
Username root
Remote Directory /
高级里Use password authentication, or use a different key打勾,
写上服务器登录密码Passphrase / Password
Publish Over SSH设置附录
公共配置:
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:测试连接