Hello World from OSS Silicon Valley


HowToUse/Jenkins/1.594


  • The added line is THIS COLOR.
  • The deleted line is THIS COLOR.
#contents

*Prerequisite [#q4efe545]
-Java Runtime Edition
-Cent OS (You can refer [[HowToUse/CentOS/6.5]])
-Subversion (You can refer [[HowToUse/Subversion/1.6]])
-Maven (You can refer [[HowToUse/Maven/3.2]])

*Install&Setup [#xfc13f2e]
:Step.1|
Import public key.

 # wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
 # rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key

:Step.2|
Install Jenkins

 # yum install jenkins


**Launch Jenkins [#y90b3795]
:Step.1|
Login with root.
Login from GUI with root.

:Step.2|
Select System -> Administration -> Firewall

#ref(Launch_fig1.png,,500x241,)

:Step.3|
Select "Other Ports" and click "Add" button and set 8000 port.
Select "Other Ports" and click "Add" button and set 8080 port.

#ref(Launch_fig2.png,,500x241,)

:Step.4|
Click "Apply" button on the "Firewall Configuration" window and access http://<host name>:8080/.
Click "Apply" button on the "Firewall Configuration" window.

:Step.5|
Execute the following command and access http://<host name>:8080/.

 # /etc/rc.d/init.d/jenkins start

#ref(Launch_fig3.png,,500x266,)


*HowToUse [#mafc34ae]
**Mail Server Configuration [#q04c4ad9]
:Step.1|
Click "Manage Jenkins".

#ref(ServerConfig_fig1.png,,500x266,)

:Step.2|
Click "Configure System".

#ref(ServerConfig_fig2.png,,500x266,)

:Step.3|
Setup mail notification configuration.

#ref(ServerConfig_fig3.png,,500x266,)

|LEFT:150|LEFT:300|LEFT:200|c
|CENTER:Item|CENTER:Description|CENTER:Example|h
|SMTP server|SMTP server|"smtp.gmail.com"|
|Default user e-mail suffix|If you specify this as "@gmail.com", user e-mail address will be automatically obtained as <user name><suffix>|@gmail.com (for gmail)|

:Step.4|
Click "Advances..." button.
Setup the configuration.

#ref(ServerConfig_fig4.png,,500x266,)

|LEFT:150|LEFT:300|LEFT:200|c
|CENTER:Item|CENTER:Description|CENTER:Example|h
|Use SMTP Authentication|If you expect SMTP authorization, check this|TRUE (for gmail)|
|User Name|e-mail user name for SMTP authentification|"syatsuzuka"|
|Password|password for SMTP Authentification|"xxxx"|
|SSL|if SMTP server require SSL, check this|TRUE (for gmail)|
|SMTP Port|Port used in SMTP server|"465" (for gmail)|
|Charset|Character used in e-mail|"UTF-8"|

**Install JDK for Jenkins [#q04c4ad9]
:Step.1|
Click "Manage Jenkins" link.

:Step.2|
Click "Configure System" link.

:Step.3|
Click "Add JDK" button.

:Step.4|

#ref(InstallJDK_fig1.png,,500x266,)

|LEFT:150|LEFT:300|LEFT:200|c
|CENTER:Item|CENTER:Description|CENTER:Example|h
|Name|JDK name|"jdk8u25"|
|Install automatically|If you want to install JDK automatically, keep this checked|TRUE (default)|
|Version|JDK Version|"Java SE Development Kit License Agreement|
|I agree to the Java SE Development Kit License Agreement||TRUE|

:Step.5|
Click "Please enter your username/password" link.

:Step.6|
Enter Oracle account and click "OK" button.

#ref(InstallJDK_fig1.png,,500x266,)

**Install Maven for Jenkins [#q04c4ad9]
:Step.1|
Click "Add Maven" button and set Name.

:Step.2|
Click "Save" button.

**Create Items [#o4d3a6b7]
:Step.1|
Click "New Item" link.

#ref(CreateItem_fig1.png,,500x266,)

:Step.2|
Set "Item name", check "Freestyle project" and click "OK" button.

|LEFT:150|LEFT:300|LEFT:200|c
|CENTER:Item|CENTER:Description|CENTER:Example|h
|Item name|Item name|"TestJOB"|

#ref(CreateItem_fig2.png,,500x266,)

Now, you have new directory named "TestJOB" in JENKINS_HOME, namely, /var/lib/jenkins.
Resources which are necessary for build will be stored in workspace under 

:Step.3|
Click Subversion for "Source Code Management" and set "Repository URL".

|LEFT:150|LEFT:300|LEFT:200|c
|CENTER:Item|CENTER:Description|CENTER:Example|h
|Repository URL|Repository URL|"http://localhost/svn"|

#ref(CreateItem_fig3.png,,500x266,)

:Step.4|
Click "enter credential" link. 

#ref(CreateItem_fig4.png,,500x266,)

:Step.5|
You can choose build trigger according to your situation.
-"Build after other projects are built"
-"Build periodically"
-"Poll SCM"

Here, I choose "Poll SCM". Check "Poll SCM". If you want to check every 5min, set as follows.
The order of parameters are same as cron.

min hour day month wday
 */5 * * * *

#ref(CreateItem_fig5.png,,500x266,)

:Step.6|
Select "Invoke top-level Maven targets" from "Add build step".

:Step.7|
Choose "Add post-build action" from the following.
-Aggregate downstream test results
-Archive the artifacts
-Build other projects
-Publish JUnit test result report
-Publish Javadoc
-Record fingerprints of files to track usage
-E-mail Notification
Set the following.

Here, we choose "E-mail Notification" and set "Recipients".
|LEFT:150|LEFT:300|LEFT:200|c
|CENTER:Item|CENTER:Description|CENTER:Example|h
|Maven Version|installed maven version|"maven3.2.2"|
|goal|maven goal|"compile test"|
#ref(CreateItem_fig7.png,,500x266,)

:Step.8|
Choose "Publish JUnit Test Result" from "Add post-build action".

|LEFT:150|LEFT:300|LEFT:200|c
|CENTER:Item|CENTER:Description|CENTER:Example|h
|Test report XMLs|Specify the location of JUnit result report file|"trunk/sample/target/surefire-reports/*.xml"|
#ref(CreateItem_fig9.png,,500x266,)


:Step.9|
Choose "E-mail Notification" from "Add post-build action" and set "Recipients".

|LEFT:150|LEFT:300|LEFT:200|c
|CENTER:Item|CENTER:Description|CENTER:Example|h
|Recipients|recipients of error notification|"syatsuzuka@xxx.org"|
#ref(CreateItem_fig10.png,,500x266,)

:Step.10|
Click "Save" button. Now, you can see New Item in the main window.

#ref(CreateItem_fig6.png,,500x266,)


**Run Build [#mc4e49fb]
:Step.1|
Click newly created "Schedule Build" link.

:Step.2|
Click "TestJOB" link and you can see build list.
Click "TestJOB" link and you can see the status of build and test. When you encounter error during job, e-mail will be sent to the specified recipients address.

:Step.3|
For your first job, Jenkins will download and install maven and related libraries, so it takes time.
After the build job finished, you can check test result.

#ref(RunBuild_fig2.png,,500x266,)
#ref(RunBuild_fig3.png,,500x266,)

Also, you can see the detail information from terminal log, Jenkins -> sample -> #<job number> -> "Console Output Windows".

#ref(RunBuild_fig1.png,,500x266,)


*Author [#n8b1fbb4]
S.Yatsuzuka