-
Notifications
You must be signed in to change notification settings - Fork 8
/
README
190 lines (157 loc) · 5.55 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
+--------------------------------------------------+
+ README - HOW TO COMPILE - PLUGIN +
+--------------------------------------------------+
@author : Georges Bossert
<gbossert@caps-entreprise.com
@date : 17/07/2009
@version : 1.0
This document will introduce how to compile and run
the PerfPublisher Plugin. More globaly, this "how to"
can be used for any Jenkins plugin.
Summary
----------------------------------------------------
1. Tools needed
a. JDK 6.0
b. Maven
i. how-to install Maven on linux
2. Files and Workspace layout
3. Compile a project
4. Debug a project
5. Distributing a Plugin
6. Links
----------------------------------------------------
1. Tools needed
----------------------------------------------------
a. JDK 6.0
In order to compile, run and debug any Jenkins Plugin,
few tools need to be install.
First, JAVA and it's JDK ( min. 6.0 ), since it's
mainly developped in JAVA.
b. Maven
Right after, come with Maven2 which has to be fully
functionnal and able to download stuff over the
Internet.
------------------------------------------------------------------------------------------------
i. how-to install Maven on linux
1. Open a command terminal.
2. Create a directory for your Maven install.
mkdir /udd/[USER]/apache-maven
3. Download the maven distribution archive to your install directory.
wget http://apache.mirror99.com/maven/binaries/apache-maven-2.0.9-bin.tar.gz
4. Extract the distribution archive.
tar -zxf apache-maven-2.0.9-bin.tar.gz
The file will be extracted too /udd/[USER]/apache-maven/apache-maven.
5. Add the M2_HOME environment variable.
export M2_HOME=/udd/[USER]/apache-maven/apache-maven-2.0.9
6. Add the M2 environment variable.
export M2=$M2_HOME/bin
7. Add M2 environment variable to your path.
export PATH=$M2:$PATH
8. Make sure that JAVA_HOME is set to the location of your JDK.
9. Test your new Maven setup.
mvn --version
If your setup is correct you should now see something like:
Maven version: 2.0.9
Java version: 1.6.0_03
OS name: "linux" version: "2.6.22-14-generic" arch: "i386" Family: "unix"
------------------------------------------------------------------------------------------------
We also have to register Jenkins repositories into
Jenkins. Edit ~/.m2/settings.xml to be sure to have
this declaration :
<settings>
<pluginGroups>
<pluginGroup>org.jenkins-ci.tools</pluginGroup>
</pluginGroups>
<profiles>
<profile>
<id>jenkins</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>repo.jenkins-ci.org</id>
<url>http://repo.jenkins-ci.org/public/</url>
</repository>
<repository>
<id>m.g.o-public</id>
<url>http://maven.glassfish.org/content/groups/public/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>repo.jenkins-ci.org</id>
<url>http://repo.jenkins-ci.org/public/</url>
</pluginRepository>
<pluginRepository>
<id>m.g.o-public</id>
<url>http://maven.glassfish.org/content/groups/public/</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<mirrors>
<mirror>
<id>repo.jenkins-ci.org</id>
<url>http://repo.jenkins-ci.org/public/</url>
<mirrorOf>m.g.o-public</mirrorOf>
</mirror>
</mirrors>
<activeProfiles>
<activeProfile>jenkins</activeProfile>
</activeProfiles>
</settings>
----------------------------------------------------
2. Files and Workspace layout
----------------------------------------------------
PerfPublisher as any Jenkins Plugin is mainly
based on 4 types of data.
> pom.xml :
The controller of it's own Maven build
> src/main/java :
Contains all the Java sources.
> src/main/ressources :
Contains all the Jelly and others ressources files.
> src/main/webapp :
Every files in the directory will be copy directly into
the runtime of the Plugin. Must contain all the static
components like images and HTML pages.
----------------------------------------------------
3. Compile a project
----------------------------------------------------
In a shell, juste use the maven commands :
> mvn clean :
clean the sources and the previous build
> mvn compile :
compile the sources
----------------------------------------------------
4. Debug a project
----------------------------------------------------
Before starting debug, the environnement must be set.
use this linux command to execute the debug on
your host using port 8000
export MAVEN_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=n"
As compiling, debuging only requires tu execute a
maven command :
> mvn hpi:run
If you open http://localhost:8080/ in your browser,
you should see the Jenkins page running in Jetty.
The MAVEN_OPTS portion launches this whole thing
with the debugger port 8000, so you should be able
to start a debug session to this port from your IDE.
----------------------------------------------------
5. Distributing a Plugin
----------------------------------------------------
To create the package containing the needed files,
run the following maven goal :
> mvn package
This command should create an archive *.hpi, which is
similar to *.jar, in the target directory. It's
this file used to install the plugin .
----------------------------------------------------
6. Links
----------------------------------------------------
Maven2 :
http://maven.apache.org/
Jenkins :
http://jenkins-ci.org/