怎麼在linux上安裝部署jenkins

怎麼在linux上安裝部署jenkins

作為一個非科班出身自學的小白,踩過很多的坑,特此留下記錄
以下在虛擬機上示例
系統:linux(centos7)
操作方式:xshell連接終端操作

教程之前在此說明一下,也是我自己之前遇到的一些疑問,對於自學到一知半解的人來說可能不明白jenkins能安裝在什麼系統上,在實際公司應用的時候是部署在哪裡的?比較啰嗦,不需要了解的可跳過直接看下方步驟。
在這裡我回答一下,根據自己所查資料和理解,jenkins可以安裝在windows系統上,Linux上,mac上其官網都有對應的安裝包文件,個人認為公司實際應用的時候jenkins都是部署在服務器上的,理由也很簡單 服務器是一直在運行着的,你可以安裝在本機(windows或者mac上)但是是電腦關機後,別人就無法訪問。所以為了方便,還是需要部署在服務器上。還有你在公司里可能發現你們用的可能有部署在windows上的jenkins,那可能是因為你測試環境的這一套,為了方便測試,直接在windows上部署的。那麼你們實際生產上肯定還是有一套jenkins的。

1.xshell連接好虛擬機,檢查環境,因為jenkins依賴java環境,所以要先檢查是否有java環境。

 輸入java -version 來檢查是否有安裝Java環境(有些系統環境里有自帶的Java8的環境,比如centos7等),如下圖就是安裝好的

若沒有安裝好,可以直接在線安裝 命令 yum install java-latest-openjdk-debug.x86_64,也可以用 yum install maven -y 直接安裝maven 因為maven和java有依賴關係,會一鍵所有安裝,之後再檢查一下
小知識:1.沒安裝的話 你也可以用命令yum -y list java* 或者yum search jdk 來查詢java SDK的詳細信息,版本等,之後再安裝。
    2.若不論執行什麼命令都提示無權限 則在執行的命令前加sudo 之後輸入你的root權限密碼即可
    3.centos7之後的版本很多更新yum命令變為dnf,有時候你在教程甚至官網上查到的資料有dnf這個命令,然後你的系統執行
     不起來,提示需要安裝dnf等,其實你只要用yum就可以,dnf安裝起來也比較麻煩,如果必須要安裝,可自行百度教程

2.添加jenkink庫到yum庫

執行命令 sudo wget -O /etc/yum.repos.d/jenkins.repo //pkg.jenkins-ci.org/redhat/jenkins.repo
(小提示:官網最新為sudo wget -O /etc/yum.repos.d/jenkins.repo //pkg.jenkins.io/redhat-stable/jenkins.repo),官網自有一套後面會講

執行此命令若提示wget 不是內部使用命令,則先安裝weget 用命令 yum install wget -y 如下圖weget 安裝完成,

然後執行之前命令,若執行順利會提示完畢,若有下列提示:錯誤,頒發的證書已過期等類似報錯,則按照提示執行sudo wget -O /etc/yum.repos.d/jenkins.repo //pkg.jenkins-ci.org/redhat/jenkins.repo –no-check-certificate(其實就是跳過證書驗證,還有一種方式可以執行命令安裝證書,但是對於某些版本來說也沒有什麼用,就是執行yum install -y ca-certificates 之後會安裝好證書,此方法也可以一試,不對之處請大神指點)

3.執行yum install -y jenkins 若順利則會提示完畢,若有錯誤提示如下

則執行命令yum install -y jenkins –nogpgcheck(同理,跳過公鑰檢查)

4.配置jenkins的端口

(jenkins默認端口為8080,無衝突情況下可以不改)若要更改執行vim /etc/sysconfig/jenkins 若提示vim未安裝則執行yum install vi/vim -y安裝vim 之後找到修改端口號:JENKINS_PORT=”8080″(vim編輯器的執行操作若不會的話,可查教程)

5.啟動jenkins

執行命令service jenkins start(同理停止jenkins為service jenkins start stop 重啟為service jenkins start restart)這個界面不用任何操作只需等待

最後會變成這樣的界面 說明啟動成功

6.打開jenkins的端口(這裡使用是默認的8080,如果有更改就打開你所更改的端口號)

不打開你在windows上去訪問jenkins是訪問不到的,這裡建議先關閉jenkins服務,你可以用netstat -anp或者firewall-cmd –list-ports(推薦)命令先查看哪些端口被打開了,若提示netstat未找到命令,先用yum -y install net-tools安裝命令,發現沒有開放8080端口的話就依次執行firewall-cmd –permanent –zone=public –add-port=8080/tcp命令和systemctl reload firewalld命令,然後再次執行firewall-cmd –list-ports命令在查看一下就會發現8080 端口打開了,然後重新打開jenkins服務,在windows上打開瀏覽器,輸入你的虛擬機ip和端口就可以訪問了

7.獲取初始密碼

jenkins首次運行都會有一個初始密碼就放在/var/lib/jenkins/secrets/initialAdminPassword這個目錄下,根據上圖頁面提示,在你的服務器里找到/var/lib/jenkins/secrets/路徑,然後獲取initialAdminPassword文件的里的初始密碼就可以了
你可以直接執行命令 cat /var/lib/jenkins/secrets/initialAdminPassword 然後複製填進去就行,點擊繼續

這裡建議直接點擊安裝推薦的插件,等待其安裝完畢

接下來創建用戶名和密碼(一定不要忘了密碼),按照要求填寫就行,點擊保存並完成

這裡jenkins會自動填寫你的服務機的ip和端口,直接點擊保存並完成就,然後點擊開始使用jenkins

最後,歷盡千辛萬苦,終於來到了這個頁面,算是大功告成了

這裡分享一下幾個比較雜的知識點

1.查看jenkins的狀態或者啟動停止重啟的命令 還可以這樣寫

啟動:systemctl start jenkins
停止:systemctl stop jenkins
重啟:systemctl restart jenkins
狀態:systemctl status jenkins

2.官網上有一套安裝jenkins的方法和步驟,雖然官網都是最新的和標準的,但結合自己的系統環境等因素可能也會碰到許多問題,大家可以一試

//www.jenkins.io/doc/book/installing/linux/#red-hat-centos
進來之後點擊下圖所示

執行如下的命令,(有些就是上述所用到的),這邊就自行探索去吧

3.若想卸載jenkins,怎麼卸載清除乾淨,或者以前安裝失敗了想清理乾淨重新安裝

1).卸載jenkins 執行 rpm -e jenkins
檢查是否卸載成功 執行 rpm -ql jenkins
2).徹底刪除殘留文件:
執行 find / -iname jenkins | xargs -n 1000 rm -rf

4.拓展一下jenkins可不可以用docker安裝,以下是借用各路大神的觀點,權當參考

就是我本身也有一個這樣的疑問?docker被說的神乎其神,jenkins作為一個單體的服務,放在docker里管理是不是更好?
大神回答:1.

我以前也曾經把jenkins放進docker,後來發現反而麻煩無比。因為docker適合輕依賴的應用,像jenkins這種依賴非常重的應用是根本不適合放在docker中的

java的應用放在docker本身意義不太大,尤其是像jenkins這樣很方便就能啟動的應用,java本身已經有docker的核心特性(集裝箱、資源限制等)
但是docker是跨語言的,是一種更優雅的解決方案,放在docker裏面統一管理也未嘗不可

容器技術主要是讓操作系統里的每個進程都能享受「獨享操作系統資源」的待遇,這樣一來部署時就無需考慮環境差異,用統一的方式做資源映射就行(ps: ip&port、文件系統都算資源)。而 docker 更是基於此做到了相當於把運行環境和軟件本身都打包在一塊,到處拷貝替換就能完成安裝和升級過程,彷彿操作系統鏡像一般,但比之要輕便 N 倍、強大 N 的平方倍。
以上是在下眼中的 docker ,這對無數需要開發和維護 7*24 小時運行的軟件人來說誘惑實在太大了,哪怕機器數量不大也懶得去折騰了

總結:以上就是全部內容了,仁者見仁,智者見智,互聯網的技術一直在不斷更新,也希望大家跟上時代的腳步不斷學習進步