您的位置:首页 > 其它

CI - Jenkins自动化构建和自动化部署

2017-02-14 09:35 337 查看
https://jenkins.io/index.html 下载安装部署jenkins环境, 直接用ip加端口进行登录

http://localhost:8080,设置登录用户,密码进入Jenkins 



系统管理-》Configure Global Security

设置安全域 


 

也可以跳过用户登录:C:\Users\Administrator\.jenkins\config.xml 替换为:

<authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured">
系统管理-》管理节点-》新建节点



勾选第二项为新建一
4000
个节点,勾选第三项并输入node name 为克隆节点 


 

C:\Jenkins 为slave 机器上Jenkins的工作空间 目录
安装配置slave 机器
安装jdk,并且配置环境变量, 因为这里master用java-jar 来远程与slave 控制通信
安装slave Jenkins:http://confluence.netbraintech.com/confluence/pages/viewpage.action?pageId=51643386

 
Slave机器安装必备的工具,构建镜像,API 自动化BVT 安装了 jdk,python,.net framework,soupUI, WinRAR
Master 机器上新建-》自由风格项目-CreateNBEnviroment,如下 保存即可


 


 

这里的构建使用的是POWERSHELL, 因为启动镜像调用的powershell 脚本
在master上构建job ,作用在slave机器上,这里的salve机器用的10.10.4.110



源码管理用的SVN,输入SVN地址,登录账号,构建源码存放地址 



配置好job之间的依赖关系,3中build 条件可供选择,一般选择第一项 

批处理执行:



配置邮件

系统管理-》系统设置

1)系统管理员邮件地址设置为 邮件发送地址



填写发送邮件服务器,邮件后缀,发送邮件地址,密码,端口号

Ps: 这里的发送邮件地址 要和系统管理员邮件地址 保持一致



3)邮件通知



如果提示连接不上smtp server

需要C:\Program Files (x86)\Jenkins\Jenkins.xml 里修改节点,

添加WindowsServiceLifecycle -Dmail.smtp.starttls.enable=true



5)在job 上添加邮件接收者,这样就可以在job 构建完成之后接收邮件



6)附件添加,直接命名附件名称即可,附件默认放在workspace 对应工程下面





配置完成之后,就可以编译构建build:立即构建

点击项目编号  可以在控制台查看log 


 

目前ng7.0 Bvt api Jenkins CI 的 流程分为5个job 构建

NG70UnBindLicense:用来解绑license

CreateNBEnviroment:恢复镜像

Restart_Jenkins_Slave; 重启slave Jenkins,并且配置管理员权限

NG70COPYBUILD: 从server上拷贝最新build 到本地

NG70APIBVTTes:执行初始化mongodb,安装build,修改配置文件,重启server,执行api,发送report 

运行及流程方向为:

NG70UnBindLicense-》CreateNBEnviroment-》Restart_Jenkins_Slave-》NG70COPYBUILD-》NG70APIBVTTest 

实现了镜像环境 安装最新build,并且执行api bvt 测试,并且激活license 

遇见的问题难点及解决方案:
本地bat 批处理从server上拷贝build到本地可以实现,用Jenkins 调用bat失败

原因:10.10.10.1加入域了,本地机器也需要加入域,

解决方案:

a):机器加入域,并且 执行:NETDOM RESETPWD /Server:10.10.10.7 /UserD:datong\liufeng /PasswordD:netbrain.1 

2)Jenkins 使用系统用户权限登录
本地bat安装build成功,Jenkins 调用批处理安装失败

原因:Jenkins调用bat 成功,但是安装exe 权限不够

解决方案:Jenkins——slave需要修改为管理员权限登录,这里用sc 远程重启server实现
修改配置文件时,文件的特殊符号会被当做变量使用,使定向输出时,文件缺少特殊符号,例如!

解决方案:etlocal enabledelayedexpansion 使用延时变量,修改作用域,并且在不适用延时变量的时候关闭
配置邮件的时候,提示smtp 连接不上

原因:Jenkins没有开启starttls 

解决方案:C:\Program Files (x86)\Jenkins\Jenkins.xml 里修改节点,

添加WindowsServiceLifecycle -Dmail.smtp.starttls.enable=true
执行API时,调用解绑的接口,不能解绑

原因:恢复镜像之后,之前绑定的license 绑定的信息是机器之前的

解决方案:在恢复镜像之前,解绑license, 恢复镜像之后,直接绑定License,这样Jenkins ci构建成功之后,就绑定License了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐