ubuntu 安裝配置 Jenkins

一、 安裝 JDK 和 JRE

        1、首先用下面的命令檢查是否已經安裝了 java

java -version

        如果顯示如下內容說明已經安裝好了


        2、否則需執行下面的命令進行安裝 ( openjdk 即可 )

sudo apt-get install openjdk-7-jre
sudo apt-get install openjdk-7-jkd

        3、配置環境變量,將下面的內容加至文件 /etc/profile 中

#set jdk environment
export JAVA_HOME=/usr/lib/jvm/Java-7-openjdk-amd64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

        注:其中 JAVA_HOME 的路徑可由 whereis java 命令查看 ( 需要找到軟鏈接對應的路徑 )


        4、配置好後需要用下面的命令或者重啓使其生效

source /etc/profile

二、 安裝 Jenkins

        1、執行以下命令進行安裝

wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins

        2、安裝完成後便會自動創建一個名爲 jenkins 的新用戶,jenkins 日誌文件路徑爲 /var/log/jenkins/jenkins.log, 遇到問題可以在這裏查看問題所在;文件 etc/default/jenkins 爲相關的各種配置參數,包括默認端口爲8080,端口有衝突時可以在這裏以及腳本 /etc/init.d/jenkins 中進行相應的修改;此時就可以通過 your_IP:8080 (如:192.168.54.108:8080) 的 形式來訪問Jenkins了。

        3、第一次登陸時會提示需要管理員密碼,密碼文件的位置在 /var/lib/jenkins/secrets/initialAdminPassword ,然後根據提示安裝所需要的各種插件,並創建 Jenkins 賬戶即可。

        4、Jenkins 版本更新比較快,需要更新時,可以用以下命令

sudo apt-get update
sudo apt-get install jenkins


三、相關配置 (ver.2.32.3)

        1、Jenkins 系統配置,"Manage Jenkins"  >> "Configure System" >> "Global properties" 下。首先可以勾選 "Environment variables" 後會有 "Add" 可以添加一些全局的環境變量;然後 "Git plugin" 中的 user.name 和 user.email 設置成和 ~/.config 中的用戶名和郵件一致;另外,在 "E-mail Notification" 下可以配置郵件提醒。

        2、配置 Jenkins 相關的工具,"Manage Jenkins" >> "Global Tool Configuration",有包括 Maven, JDK, Git, Gradle, Ant, Docker 的設置項。

        3、安全配置,"Manage Jenkins" >> "Configure Global Security",勾選 "Enable security",在 "Access Control" 下進行配置。其中 "Security Realm" 下選擇 "Jenkins' own user database",然後勾選下勾選 "Allow users to sign up" 就可以註冊用戶,並用新用戶登錄;至於具體的權限可以在 "Authorization" 下進行配置。選擇 "Project-based Matrix Authorization Strategy",輸入已有的用戶名並點擊 "Add" ,然後針對不同的用戶根據情況勾選不同的權限。


        4、實際上對於每一個 Job, 還可以單獨的進行權限設置,進入特定的 Job, 然後點擊 "Configure",在 "General" 下勾選 "Enable project-base security" 即可進行單獨的權限設置,當然同樣需要將已有的用戶名添加進來。


        5、添加 slave ,"Manage Jenkins"  >> "Manage Nodes" >> "New Node", 輸入 Node name,選擇 "Permanent Agent" 或者 "Copy Existing Node" ( 需要有現有的 node 存在 ),然後點擊 "OK" 進入具體配置頁面。其中 "# of executors" 爲最大的可同時 build 的數量(根據機子性能而定);"Remote root directory" 爲 slave 的工作目錄(需要注意 該路徑必須要有權限訪問);"Launch method" 爲運行方式,一般 linux 選擇 "Use slave agents via SSH" 而 windows 選擇 "Launch slave agents via Java Web Start",這裏選擇了 via SSH,需要配置 "Host" ( 即 slave 的 IP ) 和 "Credentials" ( 即認證信息 ),對於認證信息可以選擇 "Username with password" 或者 "SSH Username with private key" 的方式添加;另外可以勾選 'Environment variables" 和 "Tool Locations" 添加 slave 的環境變量和各種工具。 配置好 slave 後,就可以針對具體的 Job 指定到不同的 slave 上 build 了,點擊具體的 Job 進入其中,在 "Configure" >> "General" 下勾選 "Restrict where this project can be run" 後將 Node name 填入 "Label Expression" 即可。

    

        ### 新版本(2.46.2)會有新的配置項“Host Key Verification Strategy”,選擇“Non verifying Verification Strategy”即可順利連接slave。

        6、注:事實上有部分配置在實際使用中並不是必須的,可以根據情況而進行相關的配置。


四、 卸載 Jenkins

        1、先卸載移除 jenkins 和依賴關係

sudo apt-get remove jenkins
sudo apt-get remove --auto-remove jenkins

        2、然後清除各種相關配置和數據

sudo apt-get purge jenkins
sudo apt-get purge --auto-remove jenkins


五、 管理 Jenkins 服務的常用命令

        1、查看 Jenkins 的運行狀態

sudo service jenkins status

        2、啓動 Jenkins 服務

sudo service jenkins start

        3、重啓 Jenkins 服務

sudo service jenkins restart

        4、停止 Jenkins 服務

sudo service jenkins stop


六、 使用注意事項

        1、前面提到過 jenkins 安裝完成後會在 server 上創建一個名爲 jenkins 的新賬戶,而所有的 job 運行在目錄 /var/lib/jenkins/workspace 下,對於需要從 github 或者 gerrit 獲取代碼的情況,需要重新生成 public key, 並在相應的位置添加, 或者複製原 public key 至當前用戶環境。

               或者我們可以直接將 jenkins 賬戶加入到主賬戶或者root賬戶組中,這樣還可以避免一些權限問題的出現,修改方法如下:

        a. 將 jenkins 賬戶加入到其他組(以root爲例)

gpasswd -a root jenkins

        b. 修改 /etc/default/jenkins 文件的內容

# user and group to be invoked as (default to jenkins)
#JENKINS_USER=jenkins
#JENKINS_GROUP=jenkins
JENKINS_USER=root
JENKINS_GROUP=root

        c. 重啓 jenkins 服務 

sudo service jenkins restart

        2、在建立 Job 後,往往需要其做定時的build,此時我們可以在對應 Job 的 "Configure" 中的 "Build Triggers" 下勾選 "Build periodically" 再在 "Schedule" 中進行配置。其有一定的語法,共有5個參數,參數間由空格分隔(形如:* * * * * )。其中第一個參數代表分鐘,取值範圍 0 ~ 59;第二個參數代表小時,取值範圍 0~23;第三個參數代表日,取值範圍 1~31;第四個參數爲月,取值範圍 1~12,最後一個則爲周幾,取值 0~7。以下列出了一些配置實例:(其中 H 的使用會自動提前一段時間,這樣可以避免 build 高併發的問題)

                0 * * * *                  代表每小時的第0分鐘 build 一次

                H/30 * * * *             代表每 30 分鐘 build 一次

                5 6 * * *                  代表每天的 6:05 build 一次 

                H 8,9 * * 1-3           代表每週一至週三的 8:00 和 9:00 都進行 build

                H (0-29)/15 * * *     代表每前半小時中每隔15分鐘 build 一次


七、 Reference

        https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu

        http://installion.co.uk/ubuntu/precise/universe/j/jenkins/uninstall/index.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章