jenkins實戰系列

Jenkins 是一個可擴展的持續集成引擎。

主要用於:

  • 持續、自動地構建/測試軟件項目。
  • 監控一些定時執行的任務。 Jenkins擁有的特性包括:
  • 易於安裝-只要把jenkins.war部署到servlet容器,不需要數據庫支持。
  • 易於配置-所有配置都是通過其提供的web界面實現。
  • 集成RSS/E-mail通過RSS發佈構建結果或當構建完成時通過e-mail通知。
  • 生成JUnit/TestNG測試報告。
  • 分佈式構建支持Jenkins能夠讓多臺計算機一起構建/測試。
  • 文件識別:Jenkins能夠跟蹤哪次構建生成哪些jar,哪次構建使用哪個版本的jar等。
  • 插件支持:支持擴展插件,你可以開發適合自己團隊使用的工具。

jenkins 官方網址:https://jenkins.io/

本文主要介紹了在linux 下如何部署jenkins.以及通過jenkins 如何發佈php.以及java 程序,利用jenkins 來實現郵件告警及時瞭解項目發佈過程中產生的問題。

一.jenkins 部署安裝:

1.Linux部署Jenkins兩種方法的介紹

方法1:WAR包

步驟簡介:

wget在官方下載jenkins.war的包到tomcat下
修改tomcat的server.xml配置,重啓tomcat
調整防火牆規則,允許端口訪問
瀏覽器訪問:http://x.x.x.x:port
方法2:YUM安裝

步驟簡介:

添加官方的rpm包源,進行yum安裝
編輯jenkins的/etc/init.d/jenkins程序文件,添加java路徑
編輯jenkins的/etc/sysconfig/jenkins配置文件,修改端口、系統運行賬戶
編輯/etc/profiles文件添加jenkins的環境變量
啓動jenkins服務service jenkins start
瀏覽器訪問:http://x.x.x.x:port
二、兩種安裝方法的對比

WAR包安裝

優點:

只有一個war包,輕量級部署
配置過程簡單,無需額外配置
對於已經部署好tomcat+jdk環境的Server,可以在10分鐘內就搭建好Jenkins平臺,適用於快速部署和使用;
適合新手,或者對Linux不太熟的人員
缺點:

因爲是官方直接打包好的.war包,修改配置容易出現報錯
運行不穩定,增加插件、修改權限等,很容易崩潰
重啓jenkins服務不太方便(java -jar /xx/xx/jenkins.war --httpPort=8080)
YUM安裝

優點:

對於熟悉Linux服務配置的人員來說,輕車熟路的配置流程
可以根據Server環境,定製化的修改jenkins配置文件
可以很方便的查看服務運行狀態(state)、日誌、排錯、重啓服務
適用於Linux老司機
缺點:

配置的過程稍複雜,要修改的文件和參數
反覆查看日誌中的ERROR,根據模糊的錯誤信息,調整環境和配置
對於Linux新手來說,配置起來有點難,Troubleshouting有點懵

2.利用tomcat來部署jenkins

部署tomcat
(1)安裝jdk
這裏的jdk 使用的是jdk-8u77-linux-x64.rpm
rpm -ivh jdk-8u77-linux-x64.rpm

(2)環境變量
export JAVA_HOME=/usr/java/jdk1.8.0_77/                     # JAVA_HOME變兩個路徑
export JAVA_BIN=/usr/java/jdk1.8.0_77/bin
export PATH=${JAVA_HOME}bin:$PATH   # 環境變量
[root@caosm03 caosm]# java -version   # 查看版本
java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)
(3)部署tomcat
這裏使用的tomcat  apache-tomcat-8.0.30.tar.gz
[root@caosm03]# tar -zxvf  apache-tomcat-8.0.30.tar.gz -C /usr/local
[root@caosm03 local]# mv apache-tomcat-8.0.30  tomcat
[root@caosm03 local]# cd /usr/local/tomcat/bin/
[root@caosm03 bin]# ./startup.sh
Using CATALINA_BASE:   /usr/local/src/tomcat
[2017/12/13 15:55:02] Using CATALINA_HOME:   /usr/local/tomcat
[2017/12/13 15:55:02] Using CATALINA_TMPDIR: /usr/local/tomcat/temp
[2017/12/13 15:55:02] Using JRE_HOME:        /usr/java/jdk-1.8.0.77/
[2017/12/13 15:55:02] Using CLASSPATH:       /usr/local/src/tomcat/bin/bootstrap.jar:/usr/local/src/tomcat/bin/tomcat-juli.jar


啓動報錯:The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path

解決方案:
<Server port="8005" shutdown="SHUTDOWN">
  <!--Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> -->
把這一句註釋掉 不影響使用,解決這個問題非常蛋疼!!!
對端口進行修改 我這裏改成了8090
對server.xml 進行修改
  <Connector port="8090" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
 修改端口後要進行重啓tomcat


啓動進行測試:http://192.168.24.130:8090  啓動正常
(4)準備安裝包,安裝jenkins
這裏使用的安裝是從官網下載的war 包 https://jenkins.io/
把安裝包放到webapp下面
[root@caosm03 webapps]# ls
docs  examples  host-manager  jenkins  jenkins.war  manager  ROOT
[root@caosm03 webapps]#root@caosm03 webapps]#java -jar jenkins.war --httpPort=8090 &
 進行啓動  指定端口
直接訪問即可!
http://192.168.24.130:8090
默認用戶admin 
密碼:[root@caosm03 ~]# cat /root/.jenkins/secrets/initialAdminPassword 
fb0cb152dc454586a217c46710ecc242
安裝中文插件
https://updates.jenkins.io/download/plugins/locale/1.2
在/jenkins/pluginManager/advanced/ 上傳插件,點擊上傳 ,重新刷新,Jenkins 恢復中文界面
http://updates.jenkins-ci.org/download/plugins/
安裝插件 可選插件報錯
這裏需要選擇高級
升級站點: http://updates.jenkins-ci.org/update-center.json  立即獲取
重新啓動tomcat

相關配置

# Jenkins安裝目錄
/var/lib/jenkins
# Jenkins配置文件地址
cat /etc/sysconfig/jenkins
# 三個比較重要的配置
JENKINS_HOME是Jenkins的主目錄,Jenkins工作的目錄都放在這裏,Jenkins儲存文件的地址,Jenkins的插件,生成的文件都在這個目錄下。
JENKINS_USER是Jenkins的用戶,擁有$JENKINS_HOME和/var/log/jenkins的權限。
JENKINS_PORTJENKINS_PORT是Jenkins的端口,默認端口是8080。

報錯解決如下:

jenkins報錯:Problem accessing /jenkins/. Reason: HTTP ERROR 404

這是一個Jenkins的Bug。臨時解決方法是:在瀏覽器中手工輸入:http://<ip>:<port>
不要訪問"/jenkins"這個路徑。

jenkins 報錯: office This jenkins instance appears to be offline.

[root@caosm98 ~]# cat /var/lib/jenkins/hudson.model.UpdateCenter.xml
<?xml version='1.0' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>http://updates.jenkins.io/update-center.json</url>
  </site>
https 改成http
需要重啓jenkins

下一節 介紹 php代碼發佈

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