repo.jenkins-ci.org
http://repo.jenkins-ci.org/public/
repo.jenkins-ci.org
http://repo.jenkins-ci.org/public/
m.g.o-public
配置了这个之后你就可以使用短的前缀来代替Jenkins Maven Plugin(例如: hpi:create可以替代org.jenkins-ci.tools:maven-hpi-plugin:1.6.1:create)。
创建一个新的插件
开始创建一个新的插件,可以使用IDE或者你想更舒适的使用Maven,可以运行以下命令:
$ mvn -U org.jenkins-ci.tools:maven-hpi-plugin:create
也可以直接短的前缀:
$ mvn -U hpi:create
执行完之后会提示输入groupId和artifactid,如下图所示:
如果看到以下提示信息就说明插件创建成功,如下图所示:
通过以下命令对新建的插件进行打包:
$ 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端口。
写在最后
在技术领域内,没有任何一门课程可以让你学完后一劳永逸,再好的课程也只能是“师傅领进门,修行靠个人”。“学无止境”这句话,在任何技术领域,都不只是良好的习惯,更是程序员和工程师们不被时代淘汰、获得更好机会和发展的必要前提。
如果你觉得自己学习效率低,缺乏正确的指导,可以一起学习交流!
加入我们吧!群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。
35岁中年危机大多是因为被短期的利益牵着走,过早压榨掉了价值,如果能一开始就树立一个正确的长远的职业规划。35岁后的你只会比周围的人更值钱。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!