jenkins部署java_在Window上使用Jenkins自动部署和上传快照Java工件

jenkins部署java

这篇文章将展示如何使用Jenkins Continuous Integration自动执行Java Web应用程序(使用MYSQL DB和基于Hibernate ORM在基于REST的Jersey2 Spring环境中开发的学生申请应用程序)的部署过程-生成项目,运行单元测试,上传构建的工件到Sonatype Snapshot存储库,运行Cobertura代码覆盖率报告并将应用程序部署到Amazon EC2。 链接中的“ 使用Jersey REST和Spring一起构建Java Web应用程序”给出的更早的文章对实际应用程序的细节进行了说明。

1.将Jenkins作为Windows服务安装

使用Internet浏览器导航至jenkins-ci.org网站,然后下载Windows本机软件包(该链接带有下划线以方便识别),如“下载Jenkins”选项卡的右侧窗格所示。

jenkins安装

下载完成后,解压缩zip文件,然后单击jenkins-1.xxx.msi文件。 继续执行配置步骤,将Jenkins作为Windows服务安装。

2.修改默认的詹金斯港口

默认情况下,Jenkins在端口8080上运行。为了避免与其他应用程序发生冲突,可以通过编辑C:\ Program Files(x86)\ Jenkins位置下的jenkins.xml来修改默认端口。 如下所示,将httpPort修改为8082。

<service><id>jenkins</id><name>Jenkins</name><description>This service runs Jenkins continuous integration system.</description><env name="JENKINS_HOME" value="%BASE%"/><!--if you'd like to run Jenkins with a specific version of Java, specify a full path to java.exe.The following value assumes that you have java in your PATH.--><executable>%BASE%\jre\bin\java</executable><arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8082</arguments><!--interactive flag causes the empty black Java window to be displayed.I'm still debugging this.<interactive />--><logmode>rotate</logmode><onfailure action="restart" />
</service>

修改保存在jenkins.xml文件中后,从Windows任务管理器->服务重新启动Jenkins服务,然后右键单击Jenkins服务,然后选择Stop Service停止该服务,如下所示。

詹金斯站

服务状态更改为已停止后,请右键单击Jenkins服务并重新启动服务,以重新启动服务。

詹金斯重启

导航到localhost:8082以验证Jenkins重新启动是否成功,如下所示–将显示Jenkins Dashboard。 请注意,Jenkins服务可用需要一段时间。

詹金斯仪表板

3.安装插件

在Jenkins仪表板上,导航到Manage Jenkins –> Manage Plugins,如下面的快照所示。

jenkins-manageplugins

安装以下插件,然后重新启动Jenkins,以使更改生效。

  • GitHub插件(用于将Github与Jenkins集成)
  • Jenkins Cobertura插件(用于Cobertura支持)
  • 部署到容器插件(用于将WAR部署到EC2实例上的Tomcat容器)
  • Jenkins Artifactory插件(用于将构建的Maven工件部署到Snapshot存储库)

4.配置系统

在Jenkins仪表板上,导航到Manage Jenkins –> Configure System,如下快照所示。

詹金斯配置系统

导航到JDK部分,然后单击“添加JDK”以添加JDK安装,如下面的快照所示。 指定一个JDK名称,选择要安装的JDK版本,然后按照屏幕上的说明保存Oracle登录凭据。 保存更改。

詹金斯-java

接下来,进入Git部分,然后单击“添加Git”以添加Git安装,如下面的快照所示。 指定Git名称,指定Git可执行文件的路径并保存更改。

jenkins-gitinstall

接下来,进入“ Maven”部分,然后单击“添加Maven”以添加Maven安装,如下面的快照所示。 指定Maven名称,选择要安装的Maven版本并保存更改。

詹金斯·梅文

进入Git插件部分,并输入Github用户名和电子邮件地址的值作为凭据,如下所示。 保存更改。

詹金斯·吉特

前进至Artifactory部分,然后单击“添加”以添加有关工件服务器的信息。 指定快照存储库的URL,并提供从Artifactory服务器网站创建的部署者凭证,如下所示。 单击“测试连接”以测试连接参数是否适合保存并保存更改。

詹金斯人工工厂

接下来,进入“电子邮件通知”部分,并输入SMTP服务器详细信息,如下所示。 单击高级按钮添加所需的更多详细信息,然后保存更改。 单击“通过发送测试电子邮件进行测试配置”,输入测试电子邮件收件人,然后单击“测试配置”以查看电子邮件是否成功发送。

詹金斯电子邮件

5.创建一个新的詹金斯工作

在Jenkins仪表板上,单击“新作业”以创建新作业。 输入作业的名称,然后选择“ Build a maven2 / 3 project”作为选项,然后单击OK,如下所示。

詹金斯新工作

在“新作业配置”屏幕上,进入“源代码管理”部分,并为项目指定Git存储库URL,如下所示。 保存更改。

jenkins-源代码管理

接下来,从“构建触发器”部分中,选择所需的选项,如下所示,然后保存更改。

詹金斯-Buildtriggers

进入“构建”部分,输入构建快照的maven目标,如下所示,然后保存更改。

詹金斯建立

进入“构建设置”部分。 选择“电子邮件通知”选项,然后输入电子邮件收件人的值,如下所示。 保存更改。

jenkins-电子邮件通知

在构建后动作下,单击“添加构建后动作”按钮,然后选择“将战争/战争部署到集装箱”。 在Amazon EC2中,必须使用角色manager-gui和manager-script配置Tomcat Manager(作为用户名的管理器)实例,以允许将WAR / EAR远程部署到Tomcat容器。 可以在链接“ https://help.ubuntu.com/13.04/serverguide/tomcat.html”下的“ Tomcat管理webapps”部分中找到配置步骤。

在Amazon EC2实例中完成Tomcat Manager webapp配置后,如下所示输入部署所需的详细信息。 保存更改。

詹金斯部署

同样,在构建后操作中,单击“添加构建后操作”按钮,然后选择“发布Cobertura覆盖率报告”。 输入Cobertura XML报告模式,如下所示,并保存更改。

詹金斯·科伯图拉

6.配置settings.xml

为了将构建的Maven工件上传到工件服务器,请使用相同的参数配置C:\ Program Files(x86)\ Jenkins \ tools \ hudson.tasks.Maven_MavenInstallation \ Maven_3.1 \ conf文件夹中的Jenkins settings.xml。如在系统上的Maven安装的默认settings.xml(通常在Windows计算机的C:\ Program Files \ Apache Software Foundation \ apache-maven-3.1.0 \ conf下找到)中所找到的。

通常,需要在settings.xml中配置服务器部分,以使Jenkins与Artifactory服务器的详细信息匹配。

<servers><server><id>sonatype-nexus-snapshots</id><username>username</username><password>password</password></server><server><id>sonatype-nexus-staging</id><username>username</username><password>password</password></server>
</servers>

7.更新pom.xml

该项目的pom.xml文件需要在build部分下使用以下插件进行配置,以便部署到快照存储库并运行Cobertura Coverage报告。

  • Maven编译器插件
  • Maven部署插件
  • cobertura-maven-plugin

还要添加parent,scm和developer部分,以符合Artifactory服务器管理提出的要求,如下所示。

<parent><groupId>org.sonatype.oss</groupId><artifactId>oss-parent</artifactId><version>7</version>
</parent><scm><connection>scm:git:git@github.com:elizabetht/StudentEnrollmentWithREST.git</connection><developerConnection>scm:git:git@github.com:elizabetht/StudentEnrollmentWithREST.git</developerConnection><url>git@github.com:elizabetht/StudentEnrollmentWithREST.git</url><tag>StudentEnrollmentWithREST-1.3</tag>
</scm>
<developers><developer><id>elizabetht</id><name>Elizabeth Thomas</name><email>email2eliza@gmail.com</email></developer>
</developers><build><finalName>StudentEnrollmentWithREST</finalName><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>2.5.1</version><inherited>true</inherited><configuration><source>1.6</source><target>1.6</target></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-deploy-plugin</artifactId><version>2.8.1</version><executions><execution><id>default-deploy</id><phase>deploy</phase><goals><goal>deploy</goal></goals></execution></executions></plugin>                 <plugin><groupId>org.codehaus.mojo</groupId><artifactId>cobertura-maven-plugin</artifactId><version>2.6</version><configuration><formats><format>html</format><format>xml</format></formats></configuration><executions><execution><phase>package</phase><goals><goal>cobertura</goal></goals></execution></executions></plugin></plugins>
</build>

8.立即建立

完成上述配置步骤后,单击Jenkins –> Upload REST Snapshot Artifacts(或相应的Job名称)下的“立即构建”,以根据配置构建项目。

控制台输出包含有关配置已启动哪些步骤以及整个构建结果的详细日志。

可以检查部署到Amazon EC2实例的WAR的时间戳,以查看部署是否成功。 以相同的方式,可以检查快照存储库以查看工件上传是否成功。

因此,每当触发SCM更改或在其他情况下,构建项目以及进行单元测试的整个过程,运行代码覆盖率报告,将构建的工件上传到快照工件存储库,将WAR部署到远程服务器容器并触发电子邮件到只需单击Jenkins的一个按钮,收件人就可以自动完成。

参考: “ 我的实验与技术”博客中的JCG合作伙伴伊丽莎白·托马斯(Elizabeth Thomas)在Windows上使用Jenkins在Windows上使用Jenkins自动部署和上传快照Java工件 。

翻译自: https://www.javacodegeeks.com/2014/03/automating-the-deployment-and-upload-of-snapshot-java-artifacts-using-jenkins-on-window.html

jenkins部署java

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/344223.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

苹果电脑怎么更换计算机模式,图文详解苹果电脑如何切换成windows系统

苹果电脑默认安装的是Mac系统&#xff0c;有的人很喜欢&#xff0c;有一部分人却怎么都用不习惯&#xff0c;觉得windows系统用起来比较顺手。为了能提高办公效率&#xff0c;给苹果电脑安装双系统&#xff0c;那么有什么办法能将苹果电脑切换成windows系统&#xff1f;方法当然…

input内的字体颜色_嘉兴市硅胶喷涂颜色油订制

嘉兴市硅胶喷涂颜色油订制&#xff0c;博越硅胶服务惠万家&#xff0c;欢迎惠顾。嘉兴市硅胶喷涂颜色油订制&#xff0c; 而它配合硅胶原材制作时是按照相应的比例来进行分配在加上硫化剂的配合才能够得到制作产品的原材料&#xff0c;色母的性能选择也影响着一个产品的性能&am…

[渝粤教育] 西南科技大学 电能计量 在线考试复习资料

电能计量——在线考试复习资料 一、单选题 1.关于电压互感器下面说法正确的是( ) A.二次绕组不能开路 B.二次绕组不能接地 C.二次绕组可以短路 D.二次绕组不能短路 2.当功率因数升高时,电力系统中的变压器和输电线路的损耗会如何变化( ) A. 减少 B. 增大 C.…

[渝粤教育] 西南科技大学 管理学原理 在线考试复习资料(5)

管理学原理——在线考试复习资料 一、单选题 1.通常所说的“小道消息”属于: A.双向沟通 B.口头沟通 C.非正式沟通 D.用含蓄的形式进行沟通 2.古人云:“运筹于帷幄之中,决胜于千里之外”,这里的“运筹帷幄”反映了管理中的: A.计划职能 B.组织职能 C.领导职能 D.控制…

计算机模拟人工录入,用计算机模拟交互式输入代替人工进行流程录入

用用计计算算机机模模拟拟交交互互式式输输入入代代替替人人工工进进行行流流程程录录入入 工工商商银银行行青青岛岛开开发发区区支支行行 1 一 一 项目简介项目简介 在 我行 的日常 工作中有大 量的 数据 需要 通过 流程 录入 并 且数 据录 入 一 般要 经过 多个步 骤 每一步…

具有Spring Security的Grails

1. Spring Security与Grails集成的概述 Spring Security吹捧了许多身份验证&#xff0c;授权&#xff0c;基于实例的功能以及各种其他功能&#xff0c;这些特性使其对使用安全的应用程序具有极大的吸引力。 考虑到这一点&#xff0c;由于Grails使用了Spring的Inversion of Con…

[渝粤教育] 西南科技大学 统计学原理 在线考试复习资料(3)

统计学原理——在线考试复习资料 一、单选题 1.由组距数列计算全距的公式( )。 A.最大组的标志值—最小组的标志值 B.最大组的下限值—最小组的下限值 C.最大组的上限值—最小组的上限值 D.最大值的上限值—最小组的下限值 2.众数是( )。 A.社会经济现象中的常见数。 B.次数分…

计算机部件动漫,因一个片段肝了整部番,电脑配件上榜,它满屏“虎狼之词”...

原标题&#xff1a;因一个片段肝了整部番&#xff0c;电脑配件上榜&#xff0c;它满屏“虎狼之词”现在的动漫行业格外迎来了鼎盛时期&#xff0c;就连以前不被看好的国漫最近几年也是突飞猛进。一部动漫想要有人看&#xff0c;就必定有自己的亮点&#xff0c;甚至一句话一个场…

[渝粤教育] 西南科技大学 西方经济学 在线考试复习资料(1)

西方经济学——在线考试复习资料 一、单选题 1.市场失灵指的是( ) A.在私人部门和公共部门之间资源配置不均 B.不能产生任何有用成果的市场过程 C.以市场为基础的对稀缺资源的无效率配置 D.收入分配不均 2.通常由总成本曲线的变动而引起的通货膨胀称为( ) A.需求拉动型通货膨胀…

获取周一_Ace足球网冬至版周一推介

WINTER SOLSTICE冬至冬至又称“冬节”、“贺冬”,华夏二十四节气之一、八大天象类节气之一&#xff0c;与夏至相对。Ace足球网祝全体球友冬至快乐身体健康 波运亨通Lorem Ipsum周一推介微信支付失败&#xff0c;请使用支付宝购买推介后请与Ace客服联系获取推介请勿相信其他客服…

[渝粤教育] 西南科技大学 财务管理与分析 在线考试复习资料(1)

财务管理与分析——在线考试复习资料 一、单选题 1.某投资方案年营业收入240万元,年销售成本170万元,其中折旧70万元,所得税率40%,则该方案年营业现金净流量为( )。 A.70万元 B.112万元 C.140万元 D.84万元 2.如果投资规模不同的两个独立投资项目的评价,应优先选择( )。 A.净现…

oauth2和jwt_使用具有OAuth2的Web应用程序和JWT的使用来调用API – WSO2 API Manager

oauth2和jwt在这篇文章中&#xff0c;我将分享我在WSO2 API管理器&#xff08;API-M&#xff09;中针对行业中非常常见且有用的场景的经验和理解。 简要地说明以下流程。 公开了一个API&#xff0c;供应用程序开发人员在API管理器的控制下使用&#xff08;这增加了对该API的访…

[渝粤教育] 西南科技大学 高等数学1 在线考试复习资料

高等数学1——在线考试复习资料 一、单选题 1.如果函数在区间上的导数( ),那么在区间上是一个常数( )。 A.恒为常数 B.可能为常数 C.恒为零 2.设,则( )。 A. B. C.0 D.1 3.设,则( )。 A. B. C. D. 4.求极限的结果是( )。 A.0 B. C. D.不存在 5.求的反函数( )。 A. B. C. D.…

jquery table ajax,JQuery Ajax动态加载Table数据的实例讲解

我们在jsp定义一个select和一个table&#xff0c;要求实现根据select的选值&#xff0c;动态加载table数据。table第一次加载数据的function定义如下&#xff1a;function loadData() {var c ;$(#import-table).DataTable({ajax: {url: "../../../hot/getByCode.action…

android listview 去掉水波纹效果_CocosCreator之分层管理的ListView

前言进入公众号回复listview即可获得demo的git地址。之前写的一篇文章《Creator之ScrollView那些事》中提到了官方Demo中提供的ListViewCtl,只是实现了纵向滑动&#xff0c;没有实现横向滑动。并且建议官方可以把功能做全然后放入组件库中供开发者使用。然后有个牛逼大神说这个…

【渝粤教育】电大中专微生物与寄生虫基础 (2)_1作业 题库

1.属于真核型微生物的是&#xff08;&#xff09;。 A.衣原体 B.放线菌 C.真菌 D.病毒 E.支原体 错误 正确答案&#xff1a;左边查询 学生答案&#xff1a;B 2.下列哪一个特点不是微生物的共有特点&#xff08;&#xff09; A.结构简单 B.肉眼不直接可见 C.需要借助显微镜观察 …

小米小爱蓝牙音箱_UG绘制一个小米小爱同学蓝牙音箱

今天来绘制这么一个小米蓝牙音箱&#xff0c;渲染后的效果如下建模步骤&#xff1a;1打开UG&#xff0c;首先绘制一个直径为135mm的圆拉伸80mm。2在XZ平面上绘制草图&#xff0c;以Y轴旋转360度求差3整体抽壳2mm4继续在拉伸面上绘制这么一个大概的草图5选择草图的小圆&#xff…

J2Pay –完整示例

介绍 在本节中&#xff0c;我们将详细探讨如何使用网关并成功调用所有四种方法&#xff0c;即购买&#xff0c;退款&#xff0c;作废和重新计费。 对于此示例&#xff0c;我们将使用授权网关。 让我们开始。 首先&#xff0c;我们将获得Authorize网关对象。 Gateway gateway…

ajax17,17个使用AJAX技术的数据表格控件

为了将数据高效的展示出来&#xff0c;数据需要有合适的结构&#xff0c;展现结构设计的越好&#xff0c;用户就越容易理解信息的内容。因此&#xff0c;提高数据的可萃取性和可扫描性非常有意义。表&#xff0c;是一个非常好的数据呈现结构&#xff0c;非常便于人们分析和理解…

【渝粤教育】电大中专测量学 (5)作业 题库

1.测量学是研究地球的形状和大小以及确定地面点&#xff08;&#xff09;位置的科学。 A.平面 B.空间 C.曲面 D.高程 错误 正确答案&#xff1a;左边查询 学生答案&#xff1a;A 2.测量学中的水准面是一个&#xff08;&#xff09;。 A.斜平面 B.水平面 C.竖直面 D.曲面 正确 正…