linux下Jenkins安裝配置

linux環境jenkins安裝配置

jenkins簡介

  • Jenkins是一個開源軟件項目,旨在提供一個開放易用的軟件平臺,使持續集成變成可能。

持續集成的意義

  • 持續集成中的任何一個環節都是自動完成的,無需太多的人工干預,有利於減少重複過程以節省時間、費用和工作量。
  • 持續集成保障了每個時間點上團隊成員提交的代碼是能成功集成的。換言之,任何時間點都能第一時間發現軟件的集成問題,使任意時間發佈可部署的軟件成爲了可能。
  • 持續集成利於軟件本身的發展趨勢,這點在需求不明確或是頻繁性變更的情景中尤其重要,持續集成的質量能幫助團隊進行有效決策,同時建立團隊對開發產品的信心。

持續集成組件

  • 一個自動構建過程,包括自動編譯、分發、部署和測試。
  • 一個代碼存儲庫,即需要版本控制軟件來保障代碼的可維護性,同時作爲構建過程的素材庫,例如SVN、GIT代碼庫。
  • 一個jenkins持續集成服務器。

jenkins安裝部署

在linux服務器中部署jenkins server

  • 安裝jdk。jenkins的運行需要依賴jdk。
    執行命令yum install -y java-1.8.0-openjdk-devel.x86_64。安裝完成後使用java -version查看安裝信息。如下圖:
    在這裏插入圖片描述
    此時jdk安裝完成,安裝在/usr/lib/jvm中。

安裝jenkins

  • 首先配置帶有jenkins的yum源。輸入如下兩條命令:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
  • yum安裝jenkins。yum install jenkins -y。
    注意:這裏使用的源下載速度緩慢,可以採用國內鏡像,這裏使用了華爲鏡像下載、安裝。步驟如下:
  1. 進入華爲鏡像jenkins。https://mirrors.huaweicloud.com/jenkins/redhat-stable/
  2. 選擇需要的版本,wget到本地。如:wget https://mirrors.huaweicloud.com/jenkins/redhat-stable/jenkins-2.222.1-1.1.noarch.rpm
  3. yum install jenkins-2.222.1-1.1.noarch.rpm
    完成安裝截圖如下:
    在這裏插入圖片描述
  • 配置jenkins啓動用戶及端口號
  1. vim /etc/sysconfig/jenkins。
  2. 修改JENKINS_USER=“root”,JENKINS_PORT=“8081”。
  3. 修改完成之後保存退出。修改截圖如下:
    在這裏插入圖片描述
  • 啓動jenkins服務
systemctl start jenkins
systemctl enable jenkins
  • 此時安裝完成,在瀏覽器中輸入ip + 端口號即可進入jenkins頁面,如下圖所示:
    在這裏插入圖片描述
  • 經過短暫等待之後,進入如下界面,根據提示從/var/lib/jenkins/secrets/initialAdminPassword中查看密碼並粘貼到此處完成登錄即可。
    在這裏插入圖片描述
  • 選擇安裝推薦的插件或者自定義安裝的插件,這裏我們選擇默認插件安裝,安裝完成之後進入註冊界面,在註冊完成之後即可使用jenkins持續集成。完成後如下圖所示:
    在這裏插入圖片描述
    注意:如果在安裝插件時出現“無法連接到Jenkins”,則systemctl stop jenkins關閉jenkins服務,然後修改/var/lib/jenkins/config.xml,將true 修改爲:false,並且刪除以下兩個標籤和標籤內的所有內容<authorizationStrategy …/>和<securityRealm …>到。之後重新systemctl start jenkins即可。刪除後config.xml內容如下:
<?xml version='1.1' encoding='UTF-8'?>
<hudson>
  <disabledAdministrativeMonitors/>
  <version>2.222.1</version>
  <installStateName>NEW</installStateName>
  <numExecutors>2</numExecutors>
  <mode>NORMAL</mode>
  <useSecurity>false</useSecurity>
  <disableRememberMe>false</disableRememberMe>
  <projectNamingStrategy class="jenkins.model.ProjectNamingStrategy$DefaultProjectNamingStrategy"/>
  <workspaceDir>${JENKINS_HOME}/workspace/${ITEM_FULL_NAME}</workspaceDir>
  <buildsDir>${ITEM_ROOTDIR}/builds</buildsDir>
  <jdks/>
  <viewsTabBar class="hudson.views.DefaultViewsTabBar"/>
  <myViewsTabBar class="hudson.views.DefaultMyViewsTabBar"/>
  <clouds/>
  <scmCheckoutRetryCount>0</scmCheckoutRetryCount>
  <views>
    <hudson.model.AllView>
      <owner class="hudson" reference="../../.."/>
      <name>all</name>
      <filterExecutors>false</filterExecutors>
      <filterQueue>false</filterQueue>
      <properties class="hudson.model.View$PropertyList"/>
    </hudson.model.AllView>
  </views>
  <primaryView>all</primaryView>
  <slaveAgentPort>-1</slaveAgentPort>
  <label></label>
  <crumbIssuer class="hudson.security.csrf.DefaultCrumbIssuer">
    <excludeClientIPFromCrumb>false</excludeClientIPFromCrumb>
  </crumbIssuer>
  <nodeProperties/>
  <globalNodeProperties/>
</hudson>

在容器中部署jenkins server

安裝docker容器

  • 安裝並啓動docker服務
yum install docker -y
systemctl enable docker
systemctl start docker

安裝jenkins鏡像

  • docker search jenkins
    查看Docker Hub上可用的jenkins鏡像。如下圖所示,其中docker.io/jenkinsci/blueocean是jenkins官方推薦鏡像。
    在這裏插入圖片描述
  • docker pull jenkinsci/blueocean
    完成後使用docker images命令查看是否成功。如下圖所示
    在這裏插入圖片描述

運行jenkins鏡像

  • 方式一:直接運行,運行期間產生的所有數據都保存在容器內部,容器銷燬,數據丟失。
docker run \
    --name jenkins-blueocean \
    -d \
    -p 8081:8080 \
    -p 50001:50000 \
    jenkinsci/blueocean
  • 方式二:Docker會在宿主機上創建一個數據卷jenkins-data,容器映射該卷以持久化數據。
docker run \
  --name jenkins-blueocean \
  -d \
  -p 8081:8080 \
  -p 50000:50000 \
  -v jenkins-data:/var/jenkins_home \
  jenkinsci/blueocean

注意:8081端口用來公開訪問Web界面,50000端口允許訪問遠程Java(JIRA)API。
這裏我使用了第二種方式啓動一個Jenkins容器應用:

  • 創建jenkins文件夾mkdir /dogsheng/jenkins
  • 運行命令docker run --name jenkins-blueocean -d -p 8081:8080 -p 50000:50000 -v /dogsheng/jenkins/:/var/jenkins_home jenkinsci/blueocean
    注意:其中8080端口(冒號後)是docker端口,8081端口(冒號前)爲宿主機的端口,可以通過宿主機ip+8081端口號來訪問jenkins頁面,訪問50000端口可以獲取到端口信息。
    注意:如果頁面訪問不成功,請查看宿主機的8081端口是否沒有啓用或者被佔用。
  • docker ps查看是否已經在運行,如下圖所示。
    在這裏插入圖片描述
  • 通過ip + 8081登錄頁面,步驟與“在linux服務器中部署jenkins server”章節大體相同。結果如下圖:
    注意:此時密碼存放在我們掛載的目錄。這裏密碼存放在/dogsheng/jenkins/secrets/initialAdminPassword路徑下。在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章