admin 管理员组文章数量: 1086019
2024年6月7日发(作者:put on weight用法)
Windows7系统下Jenkins+Maven+SVN
搭建自动部署环境
一、安装Jenkins
从
/content/thank-you-downloading-windows-installer/#stable下载
适用于windows7系统的Jenkins版本。下载完成是msi格式文件,直接点击安装即可。
二、配置Jenkins
1、打开cmd进入Jenkins文件夹(C:Program Files (x86)Jenkins>),输入命令“java
-jar --ajp13Port=-1 --httpPort=8089”即可开启Jenkins服务,后面的绑
定端口号可以自行更改。
2、打开localhost:8089/进入Jenkins主页面,如果系统没有Maven则首先
需要安装Maven,打开“系统管理”页面,选择“系统设置”,在“Maven”一栏点击
“新增Maven”,选择“Install from Apache”,保存本页面,在后面编译的时候系统
就会自动下载安装Maven。如果系统安装过Maven,在本页面Maven配置中添加Maven
目录就行。
3、要达到自动部署的目的,需要安装Jenkins的部署插件,从
/latest/下载Deploy Plugin插件。选择“系统
管理”菜单的“管理插件”,点击“高级”,并在上传插件的一栏上传刚才下载的hpi文
件自动完成插件的安装。
4、返回主页面,由于是第一次进入所以需要创建项目,点击“创建一个新项目”,选
择“构建一个maven项目”,点击“OK”进入项目配置页面,详细配置项很多,大部分
使用默认配置就可以,下面就说说需要我们修改的几个地方:
(1) 源码管理,选择“Subversion”,在“Repository URL”里输入SVN地址,Jenkins
会自动验证地址,并给与提示,点击“enter credential”,在次页面下输入SVN用户名
和密码并保存。
(2) 如果需要配置自动构建的计划,例如我们想让项目每天12点和晚上8点自动构建
一次,只需要在“构建触发器”中选择“Build periodically”,并在“日程表”中输入“ 0
12,20 * * *”。
注:Schedule的配置规则是有5个空格隔开的字符组成,从左到右分别代表:分时
天月年。“*”代表所有,“0 12,20 * * * ”表示“在每年每月每天的12和20点0分”
进行构建。此项不进行配置而选择默认也可以。
(3) 构建后操作,即添加自动部署的设置,点击“增加构建后操作步骤”选择“Deploy
war/ear to a container”。
“WAR/EAR files”里填写需要需要部署的war文件,注意这里使用的是Jenkins
workplace的相对路径,hudon默认的目录在:“C:Documents and Settings用户名
.Jenkins”,workspace目录:“C:Documents and Settings用户名.Jenkins
jobswebworkspace”,最终产生的war在:“C:Documents and Settings用户名
.Jenkins ”,填写“”
即可。
“Context path”里填写部署到tomcat上的文件夹名字。
“Containers”里点击“Add Container”选择“Tomcat 7.x”,填写Tomcat的URL
及管理员帐号的名字和密码,如果没有管理员帐号看下面一小节。
本页面设置完毕,点击“保存”。
三、配置Tomcat
Tomcat里需要配置两个部分,一个是管理员帐号的配置,一个是防止Tomcat自动
锁文件导致重部署失败的配置。
1、设置管理员帐号:打开,在 rolename="manager-gui"/> username="admin" password="admin" roles="manager-gui,manager-script"/>”, 其中自己设置用户名和密码。 2、防止锁文件,在Windows平台的Tomcat上部署应用后,应用下的个别文件可能 会被Tomcat锁住,解部署的时候删除不掉那些内容,就会导致无法重部署。打开 ,在Context元素上设置“antiResourceLocking”属性为“true”,即 “ 完成配置后重启Tomcat。 四、自动编译和部署 在经过上面的配置后,回到Jenkins首页,在首页可以看到刚才添加的项目。点击项 目后面的“构建”图片手动构建,点击完后会在左边的“构建执行状态”显示正在构建的 任务,在自动构建完后,刷新页面,就可以看到构建结果了,如果项目构建失败,点击项 目后面的构建数字(从#1开始递增)进入项目的“Console Output”可以查看项目构建失 败的原因。 五、不利用Jenkins发布到tomcat container的方式发布,而是利用Jenkins插件 Publish Over SSH进行远程自动发布 1、应用场景 不是将war包发布到tomcat容器下,而是先利用该插件将build好的文件上传到远 程linux 的指定目录下,然后利用该插件远程执行脚本将指定目录下的文件复制到tomcat 的执行文件夹下,再利用脚本远程重启tomcat即可 2、发布环境要求 远程tomcat部署在linux上,不支持windows上的远程发布(windows 下执行Shell 脚本时出错) 3、publish over ssh 插件 的安装和配置 ① jenkins 控制台下 系统管理->管理插件->可选插件->通过搜索找到 “Publish Over SSH”,进行勾选安装。安装完毕重起jenkins网页控制台。安装成功后再次进入会 看到如下: ② 配置远程linux SSH的访问权限 1、系统管理->系统设置界面,滚动配置界面直至如下位置,会看到了多了Publish over SSH的配置选项 2、2、点击”增加” SSH Server,出现如下界面: 3、分别填写远程linux的HostName(登录IP)、userName(linux ssh的用户名)、 勾选,然后输入 ssh登录密码。点击 ,如果成功会在下面显示 success。 ③ 进入具体的发布工程界面,如下: 1、配置SSH 访问权限 a) 注意:不需要选择发布到容器,如下图: b) 选择”Send build artifacts over SSH” c) 填写权限,如下: 2、点击” 填写信息如下: ” 增加Transfers项(将文件copy到远程linux的策略), 1) Transfer Set Source files:需要上传的文件(注意:相对于工作区的路径,可以是 单个文件也可以是目录) 2) Remove prefix:移除目录(只能指定Transfer Set Source files中的目录) 3) Remote directory:远程linux下的目录 Transfer Set中各个配置规则,请参考Jenkins官网地址 /display/JENKINS/Publish+Over#PublishOver-transfe r 3、配置好的例图如下: 4、上面的脚本如下: #先用新文件替换tomcat下的旧文件 cp -r /root/deploy/* /usr/local/my/tomcat/webapps/test/WEB-INF/classes #关闭tomcat sh /usr/local/my/tomcat/bin/ sleep 15s #启动tomcat sh /usr/local/my/tomcat/bin/ 获取tomcat pid的脚本如下: ps -ef|grep tomcat|grep start|grep -v 'grep'|awk '{print $2}'
版权声明:本文标题:Jenkins自动化部署,包含通过Publish Over SSH 远程脚本 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1717724405a711574.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论