Hello,Jenkins(1)

开始创建一个新的插件,可以使用IDE或者你想更舒适的使用Maven,可以运行以下命令:

$ mvn -U org.jenkins-ci.tools:maven-hpi-plugin:create

也可以直接短的前缀:

$ mvn -U hpi:create

执行完之后会提示输入groupId和artifactid,如下图所示:

创建插件1

创建插件2

如果看到以下提示信息就说明插件创建成功,如下图所示:

创建插件3

通过以下命令对新建的插件进行打包:

$ cd uploadApkToBugly

$ mvn package

打包生成之后会生成一个target目录:

这里写图片描述

解析:

-U 表示Maven会更新所有相关的插件(检查插件的更新)

hpi:这个前缀表示Jenkins HPI插件被调用,一个支持Jenkins插件开发的插件

create 表示创建布局目录和新插件的pom.xml文件并且添加它到模块列表

package是一个标准的阶段编译所有资源,运行测试和创建一个包-当使用hpi插件时会创建一个*.hpi文件

构建一个插件


构建一个插件,运行mvn install 。这个会创建文件./target/pluginname.hpi,可以让你发布到Jenkins。

$ mvn install

为IDE设置开发环境


这里我选择的是Eclipse,建议使用Eclipse Juno(4.2或以上)。

$ mvn -DdownloadSources=true -DdownloadJavadocs=true -DoutputDirectory=target/eclipse-classes -Declipse.workspace=/path/to/workspace eclipse:eclipse eclipse:configure-workspace

mvn eclipse:eclipse

命令执行成功之后,打开Eclipse使用”import…”然后选择”General” > “Existing Projects into Workspace”。

这里写图片描述

插件工作区布局


插件工作空间包含以下主要包含以下几个部分:

pom.xml

Maven使用它构建你的插件,所有Jenkins插件都基于父插件:

org.jenkins-ci.plugins

plugin

2.2

如果使用提供的原型创建项目,一切都已经设置好。截至Jenkins 1.645版本插件父POM是主的Jenkins项目的一部分并且POM版本是Jenkins版本的基准被用于插件。

当使用父POM版本2.2或者更高版本,该基准版本选择使用jenkins.version属性,例如:

org.jenkins-ci.plugins

plugin

2.2

src/main/java

存放插件的java源代码

src/main/resources

Jelly/Groovy 视图文件

src/mian/webapp

静态资源文件,例如图片,HTML文件。

调试插件

====

Unix:

$ export MAVEN_OPTS=“-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=n”

$ mvn hpi:run

windows:

set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=n

mvn hpi:run

如果你在浏览器打开http://localhost:8080/jenkins ,你会看见Jenkins页面在Jetty中运行。MAVEN_OPTS选项启动端口为8000的调试器,所以你应该能够从IDE在这个端口启动一个调试会话。

一旦开始运行,就保持运行。Jetty会自动拉取所有的变化。

1. 当你让视图发生变化在src/main/resources或者资源文件在src/main/webapp,只要在浏览器按F5就可以看到这些变化。

2. 当你改变Java源文件,在你的IDE编译它们和Jetty会自动重新部署Jenkins去拉取这些变化。这里没有必要运行一直运行mvn命令。

更改端口

如果你需要在不同的端口不是8080启动Jenkins,通过系统属性设置jetty.port端口。

$ mvn hpi:run -Djetty.port=8090

设置上下文路径

$ mvn hpi:run -Dhpi.prefix=/jenkins

maven-hpi-plugin 1.65或更高版本(由父POM 1.401或更高版本使用)可以通过使用系统属性设置上下文路径。在较新版本的Jenkins会自动添加”/jenkins”前缀。

当调试时改变代码

根据你改变什么,你可以看到它运行的实例无需重新启动整个Maven进程:

- Views:Groovy/Jelly 视图每次请求一个页面会被重新编译,所以只刷新浏览器页面,你就会看到变化。这个对你写的帮助文件也是如此。

- Java Code:如果你在调试,JVM的热插拔功能可以用来重新加载代码,只要你没有动过方法签名。除此之外,你可以在Maven进程中按Enter键然后它会重新加载Jenkins的Web应用。请参阅Developing with JRebel会告诉你如何获得JRebel的OSS项目的许可证去帮助你提高这个方面的经验。

- POM:如果你更改了POM,你就需要停止并重新启动Maven才能看到变化。

发布一个插件


要创建插件的发布镜像,运行一下的Maven命令:

$ mvn package

最后

总而言之,成功是留给准备好的人的。无论是参加什么面试,都要做好充足的准备,注意好面试的礼仪和穿着,向面试官表现出自己的热忱与真诚就好。即使最后没有过关,也要做好经验的总结,为下一次面试做好充足准备。

这里我为大家准备了一些我在面试后整理的面试专题资料,除了面试题,还总结出了互联网公司Android程序员面试涉及到的绝大部分面试题及答案,并整理做成了文档,以及系统的进阶学习视频资料分享给大家,希望能帮助到你面试前的复习,且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。

毕竟不管遇到什么样的面试官,去面试首先最主要的就是自己的实力,只要实力够硬,技术够强,就不怕面试拿不到offer!

为什么某些人会一直比你优秀,是因为他本身就很优秀还一直在持续努力变得更优秀,而你是不是还在满足于现状内心在窃喜!希望读到这的您能点个小赞和关注下我,以后还会更新技术干货,谢谢您的支持!


《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

[外链图片转存中…(img-5YZIn2tN-1715835606238)]

[外链图片转存中…(img-IBTs3z7B-1715835606240)]

为什么某些人会一直比你优秀,是因为他本身就很优秀还一直在持续努力变得更优秀,而你是不是还在满足于现状内心在窃喜!希望读到这的您能点个小赞和关注下我,以后还会更新技术干货,谢谢您的支持!

[外链图片转存中…(img-APu5woXW-1715835606241)]
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值