用Jenkins搭建自动构建服务
Jenkins是BS跨平台构建工具,之前名为Hundson。wiki 【chs en】 最新windows安装包:下载
下文以1.593版本为例,讲述Jenkins的Windows版本的一些要注意的地方
安装
安装路径中不要出现中文或者空格
用户数据相关的目录结构
├─Jenkins
├─jobs
├─workspace
└─users
若没有设置JENKINS_HOME环境变量,用户数据会保存到C:\Users\%username%\.jenkins目录中
建议设置JENKINS_HOME环境变量为Jenkins所在目录中,使得用户数据和软件保存在同一个目录中
运行
由于windows服务是在后台运行的,由于安装限制,服务的权限比较低,在执行某些操作时(如创建D3D设备)会失败;而且所有窗口都不允许弹出来
不过,可以勾选“允许服务与桌面交互”来将窗口显示到后台桌面中
因此,建议将该windows服务停止,使用前台启动进程的方式来使用Jenkins
D:\Jenkins\jre\bin\java.exe -jar D:\Jenkins\jenkins.war
注1:使用系统的Java.exe会引发Jenkins内存占用特别高,因此需用Jenkins自带的Java.exe来启动Jenkins
注2:默认会使用8080端口拉起Jenkins的web服务器,若端口被占用,可以通过带上--httpPort参数来指定新的端口号
如:D:\Jenkins\jre\bin\java.exe -jar D:\Jenkins\jenkins.war --httpPort=8081
windows服务好处是:按下电源,在windows登录界面(未登录时),就会被系统运行起来
将拉起bat脚本的快捷方式放到系统的启动文件夹(%appdata%\Microsoft\Windows\Start Menu\Programs\Startup)中,使得开机自启动Jenkins
直接自启动会出现Jenkins的命令行窗口,容易被手误关掉。可以借助cmdow.exe工具来隐藏启动拉起bat脚本
具体方法:在系统的启动文件夹下,新建一个名为StartJenkinsNoWindow的快捷方式,然后在属性的目标处填写:
D:\Tools\cmdow.exe /RUN /HID "D:\Jenkins\StartNotAsService\Start.bat"
最后,在浏览器中输入:http://<机器名>.<域名>:8080就可以访问Jenkins的首页了 // 机器名和域名都可以在系统对话框中看到
当然直接用IP地址也是可以的
配置用户
Jenkins安装完成后是没有账户的,任何人都有无限大的权利,这里需要配置用户权限
首页上点击系统管理->Configure Global Security,勾选启用安全
在安全域中勾选Jenkins专有用户数据库并且允许用户注册
在授权策略中,选择安全矩阵,然后把匿名用户勾选只留下Read比较合适
在添加用户/组这里可以为安全矩阵增加新的用户组,这里最好先设置一个管理员组比如admin,并勾选全部安全矩阵,然后保存。
这时在右上角会有登录和注册,不登录就是匿名用户,登录需要用户名和密码,这里需要注册
注册用的用户名是刚才建立的用户组的名字,而全名是显示用的,登录也是用户名登录而不是全名。
创建任务
登录用户后,点击“新建”就可创建一个构建任务,一般选择“构建一个自由风格的软件项目”类型
点击OK,进入更详细的配置页面,在构建块处增加一个构建步骤:设置要执行的脚本。如下:
参考
Execute windows batch command from Jenkins fails but runs fine in cmd.exe
Jenkins won't execute correctly a command from a .bat
Jenkins : Selenium GUI tests are not visible on Windows
selenium2 run in Jenkins GUI testing not visible or browser not open but run in background浏览器后台运行不可见
How can I run a windows batch file but hide the command window?