Jenkins 的前身是 Hudson 是一個可擴展的持續集成引擎。
通俗的來講,jenkins就是一個可以實現自動化部署的一個插件,
對於我來說,也是應用在系統部署上。
廢話不多說,直接進入我們的安裝步驟吧
1.安裝JDK,maven環境搭建
因為考慮到jenkins的實際應用場景,我們需要把這些基礎環境先安裝完成。
jdk安裝比較簡單不做贅述,maven環境借用了osc其他大俠的博客內容,
試了下安裝成功。
maven官網下載安裝包:http://maven.apache.org/download.cgi
自己根據需求下載版本,這里作者選擇的是3.1.1版本。
1.把apache-maven-3.1.1-bin.tar.gz傳到服務器上,
解壓:
tar -zvxf apache-maven-3.1.1-bin.tar.gz
移至/usr/local下:
1
|
mv apache-maven-3.1.1 /usr/local
|
配置環境變量
1
|
vi /etc/profile
|
在文件中加入
1
2
|
export MAVEN_HOME= /usr/local/apache-maven-3 .1.1
export PATH=$PATH:$MAVEN_HOME /bin
|
重新編譯文件
1
|
source /etc/profile
|
驗證maven是否安裝成功
1
|
mvn --version
|
控制台顯示如下:
Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 23:22:22+0800)
Maven home: /usr/local/apache-maven-3.1.1
Java version: 1.7.0_25, vendor: Oracle Corporation
Java home: /usr/java/jdk1.7.0_25/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-358.6.2.el6.x86_64", arch: "amd64", family: "unix"
表示安裝成功。
2.安裝jenkins
1
2
3
|
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
yum install jenkins
|
一條一條命令執行完成后,jenkins就安裝完成了,非常簡單吧。
然后需要配置下jenkins的端口,避免沖突。
1
|
vi /etc/sysconfig/jenkins
|
進入該文件,這個是jenkins的系統配置文件,
找到2處修改端口號:
JENKINS_PORT="8080"
JENKINS_AJP_PORT="8009"
默認是這樣的,我們可以隨意修改成自己需要的端口號,避免沖突(tomcat默認端口也是這樣的)
這里作者修改成了:
JENKINS_PORT="8888"
JENKINS_AJP_PORT="8889"
接下來我們就可以嘗試啟動jenkins服務了。
1
|
service jenkins start
|
如果提示:Starting Jenkins [確定]
則表示jenkins服務成功啟動,你可以通過http://ip:端口號的方式直接訪問jenkins了。
但是一般情況下會報錯:
1
2
|
Starting Jenkins bash : /usr/bin/java : 沒有那個文件或目錄
[失敗]
|
如果出現該錯誤也不需要慌張,報這個錯的原因是因為你的jdk配置錯誤,
執行命令:
1
|
java -version
|
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
我們可以看到jdk版本為1.7.0_25,復制該名稱
1
|
vi /etc/init .d /jenkins
|
找到這段代碼
1
2
3
4
5
6
7
8
9
|
candidates="
/etc/alternatives/java
/usr/lib/jvm/java-1 .6.0 /bin/java
/usr/lib/jvm/jre-1 .6.0 /bin/java
/usr/lib/jvm/java-1 .7.0 /bin/java
/usr/lib/jvm/jre-1 .7.0 /bin/java
/usr/lib/jvm/java-1 .8.0 /bin/java
/usr/lib/jvm/jre-1 .8.0 /bin/java
/usr/bin/java
|
我們會發現這里面沒有叫1.7.0_25的文件目錄
我們在這段代碼后面加上
1
|
/usr/java/jdk1 .7.0_25 /bin/java
|
效果如下:
1
2
3
4
5
6
7
8
9
10
11
|
candidates="
/etc/alternatives/java
/usr/lib/jvm/java-1 .6.0 /bin/java
/usr/lib/jvm/jre-1 .6.0 /bin/java
/usr/lib/jvm/java-1 .7.0 /bin/java
/usr/lib/jvm/jre-1 .7.0 /bin/java
/usr/lib/jvm/java-1 .8.0 /bin/java
/usr/lib/jvm/jre-1 .8.0 /bin/java
/usr/bin/java
/usr/java/jdk1 .7.0_25 /bin/java
"
|
保存退出。重新執行啟動命令:
1
|
service jenkins start
|
是不是成功了呢?
停止命令:
1
|
service jenkins stop
|
重啟命令:
1
|
service jenkins restart
|
成功啟動后,我們就可以通過http://ip:端口號訪問了。
到此,jenkins安裝就OK了。呵呵
CentOS 上 Jenkins 安裝
文章來源:http://www.cnblogs.com/zhangqingsh/archive/2013/03/19/2968998.html
1. 添加Jenkins的源(repository):
$ sudo wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo
$ sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
2. 安裝/檢查JDK:
$ java --version
$ sudo yum install java-1.6.0-openjdk
3. 安裝Jenkins:
$ sudo yum install jenkins
安裝完成后,有如下相關目錄:
(3.1)/usr/lib/jenkins/:jenkins安裝目錄,WAR包會放在這里。
$ cd /usr/lib/jenkins
$ ll -rw-r--r-- 1 root root 52891723 Feb 27 00:13 jenkins.war
(3.2) /etc/sysconfig/jenkins:jenkins配置文件,“端口”,“JENKINS_HOME”等都可以在這里配置。內容如下:
## Path: Development/Jenkins
## Description: Configuration for the Jenkins continuous build server
## Type: string
## Default: "/var/lib/jenkins" ## ServiceRestart: jenkins # # Directory where Jenkins store its configuration and working # files (checkouts, build reports, artifacts, ...). # JENKINS_HOME="/var/lib/jenkins" ## Type: string ## Default: "" ## ServiceRestart: jenkins # # Java executable to run Jenkins # When left empty, we'll try to find the suitable Java. # JENKINS_JAVA_CMD="" ## Type: string ## Default: "jenkins" ## ServiceRestart: jenkins # # Unix user account that runs the Jenkins daemon # Be careful when you change this, as you need to update # permissions of $JENKINS_HOME and /var/log/jenkins. # JENKINS_USER="jenkins" ## Type: string ## Default: "-Djava.awt.headless=true" ## ServiceRestart: jenkins # # Options to pass to java when running Jenkins. # JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true" ## Type: integer(0:65535) ## Default: 8080 ## ServiceRestart: jenkins # # Port Jenkins is listening on. # Set to -1 to disable # JENKINS_PORT="8080" ## Type: integer(0:65535) ## Default: 8009 ## ServiceRestart: jenkins # # Ajp13 Port Jenkins is listening on. # Set to -1 to disable # JENKINS_AJP_PORT="8009" ## Type: integer(1:9) ## Default: 5 ## ServiceRestart: jenkins # # Debug level for logs -- the higher the value, the more verbose. # 5 is INFO. # JENKINS_DEBUG_LEVEL="5" ## Type: yesno ## Default: no ## ServiceRestart: jenkins # # Whether to enable access logging or not. # JENKINS_ENABLE_ACCESS_LOG="no" ## Type: integer ## Default: 100 ## ServiceRestart: jenkins # # Maximum number of HTTP worker threads. # JENKINS_HANDLER_MAX="100" ## Type: integer ## Default: 20 ## ServiceRestart: jenkins # # Maximum number of idle HTTP worker threads. # JENKINS_HANDLER_IDLE="20" ## Type: string ## Default: "" ## ServiceRestart: jenkins # # Pass arbitrary arguments to Jenkins. # Full option list: java -jar jenkins.war --help # JENKINS_ARGS=""
(3.3)/var/lib/jenkins/:默認的JENKINS_HOME。目錄結構如下:
$ cd /var/lib/jenkins/
$ ls -lst total 216 4 -rw-r--r-- 1 jenkins jenkins 0 Mar 18 23:59 Fingerprint cleanup.log 4 -rw-r--r-- 1 jenkins jenkins 0 Mar 18 18:54 Workspace clean-up.log 8 drwxr-xr-x 180 jenkins jenkins 4096 Mar 18 17:04 fingerprints 8 -rw-r--r-- 1 jenkins jenkins 1636 Mar 18 16:41 config.xml 8 -rw-r--r-- 1 jenkins jenkins 903 Mar 18 16:41 hudson.maven.MavenModuleSet.xml 8 -rw-r--r-- 1 jenkins jenkins 1122 Mar 18 16:41 hudson.plugins.sonar.SonarPublisher.xml 8 -rw-r--r-- 1 jenkins jenkins 205 Mar 18 16:41 hudson.plugins.sonar.SonarRunnerInstallation.xml 8 -rw-r--r-- 1 jenkins jenkins 196 Mar 18 16:41 hudson.scm.CVSSCM.xml 8 -rw-r--r-- 1 jenkins jenkins 692 Mar 18 16:41 hudson.scm.SubversionSCM.xml 8 -rw-r--r-- 1 jenkins jenkins 145 Mar 18 16:41 hudson.tasks.Ant.xml 8 -rw-r--r-- 1 jenkins jenkins 187 Mar 18 16:41 hudson.tasks.Mailer.xml 8 -rw-r--r-- 1 jenkins jenkins 330 Mar 18 16:41 hudson.tasks.Maven.xml 8 -rw-r--r-- 1 jenkins jenkins 76 Mar 18 16:41 hudson.tasks.Shell.xml 8 -rw-r--r-- 1 jenkins jenkins 215 Mar 18 16:41 hudson.triggers.SCMTrigger.xml 8 -rw-r--r-- 1 jenkins jenkins 264 Mar 18 16:41 jenkins.model.JenkinsLocationConfiguration.xml 8 -rw-r--r-- 1 jenkins jenkins 907 Mar 18 16:29 nodeMonitors.xml 8 -rw-r--r-- 1 jenkins jenkins 159 Mar 18 16:29 hudson.model.UpdateCenter.xml 8 -rw-r--r-- 1 jenkins jenkins 46 Mar 18 16:29 queue.xml.bak 8 drwxr-xr-x 2 jenkins jenkins 4096 Mar 18 16:24 updates 4 -rw-r--r-- 1 jenkins jenkins 0 Mar 16 10:27 Connection Activity monitoring to slaves.log 8 drwxr-xr-x 6 jenkins jenkins 4096 Mar 13 18:24 workspace 8 drwxr-xr-x 13 jenkins jenkins 4096 Mar 13 17:59 jobs 8 drwx------ 2 jenkins jenkins 4096 Feb 28 11:16 secrets 8 -rw-r--r-- 1 jenkins jenkins 165 Feb 27 13:29 sonar.xml 8 drwxr-xr-x 14 jenkins jenkins 4096 Feb 27 13:29 plugins 8 -rw------- 1 jenkins jenkins 1679 Feb 27 12:12 identity.key 8 drwxr-xr-x 2 jenkins jenkins 4096 Feb 27 12:12 userContent 8 -rw-r--r-- 1 jenkins jenkins 64 Feb 27 12:12 secret.key 4 -rw-r--r-- 1 jenkins jenkins 0 Feb 27 12:12 secret.key.not-so-secret
(3.4)/var/log/jenkins/jenkins.log:Jenkins日志文件。
4. 啟動Jenkins
$ sudo service jenkins start
有可能出現錯誤:“Starting Jenkins -bash: /usr/bin/java: No such file or directory”。表示找不到Jenkins找不到java。
這時就需要“vi /etc/init.d/jenkins”,把java路徑加上(如下):
64 # Search usable Java. We do this because various reports indicated
65 # that /usr/bin/java may not always point to Java 1.5
66 # see http://www.nabble.com/guinea-pigs-wanted-----Hudson-RPM-for-RedHat-Linux-td25673707.html
67 for candidate in /etc/alternatives/java /usr/lib/jvm/java-1.6.0/bin/java /usr/lib/jvm/jre-1.6.0/bin/java /usr/lib/jvm/java-1 .5.0/bin/java /usr/lib/jvm/jre-1.5.0/bin/java /opt/app/jdk1.7.0_09/bin/java
68 do
69 [ -x "$JENKINS_JAVA_CMD" ] && break
70 JENKINS_JAVA_CMD="$candidate"
71 done
5. 登錄Jenkins
如果沒有特別配置端口,使用http://<ip address>:8080/登錄Jenkins,並進行相關配置(插件安裝、權限配置、View/Job創建等等)。