docker容器安裝Jenkins

Jenkins通常作爲一個獨立的應用程序在其自己的流程中運行, 內置Java servlet 容器/應用程序服務器(Jetty)。
Jenkins也可以運行在不同的Java servlet容器((如Apache Tomcat 或 GlassFish))中作爲servlet運行.但是設置這些類型的安裝的說明超出了本頁的範圍。
最低推薦配置:

256MB可用內存

1GB可用磁盤空間(作爲一個Docker容器運行jenkins的話推薦10GB)

爲小團隊推薦的硬件配置:

1GB+可用內存

50 GB+ 可用磁盤空間

軟件配置:

Java 8—​無論是Java運行時環境(JRE)還是Java開發工具包(JDK)都可以。
Docker
Docker是一個在稱爲“容器”(或Docker容器)的孤立環境中可運行應用程序的平臺。 像Jenkins這樣的應用程序可以作爲只讀的“鏡像”(或Docker鏡像)下載, 每個鏡像都作爲容器在Docker中運行。Docker容器實際上是Docker鏡像的“運行實例”。 從這個角度來看,鏡像永久存儲(只要鏡像更新發布),而容器暫時存儲。 在Docker文檔的入門指南,Getting Started, Part 1: Orientation and setup頁面中閱讀有關這些概念的更多信息 。

Docker的基礎平臺和容器設計意味着可以在任何支持的操作系統(macOS,Linux和Windows) 或雲服務(AWS和Azure)上運行單個Docker鏡像(對於任何給定的應用程序,如Jenkins)。

安裝Docker
要在您的操作系統上安裝Docker,請訪問 Docker store網站並單擊適用於您的操作系統或雲服務的Docker Community Edition框。 按照其網站上的安裝說明進行操作。

Jenkins也可以在Docker企業版上運行,您可以通過 Docker商店網站上的Docker EE訪問它。

如果您要在基於Linux的操作系統上安裝Docker,請確保配置Docker,以便它可以作爲非root用戶進行管理。 在Docker的Post-installation steps for Linux網頁中瞭解更多關於它 的文檔。 如何將Docker配置爲默認啓動的方式也可在此文檔中查找。
在Docker中下載並運行Jenkins
打開一個終端窗口。

下載 jenkinsci/blueocean 鏡像並使用以下docker run 命令將其作爲Docker中的容器運行 :

docker run \
  -u root \
  --rm \  
  -d \ 
  -p 8080:8080 \ 
  -p 50000:50000 \ 
  -v jenkins-data:/var/jenkins_home \ 
  -v /var/run/docker.sock:/var/run/docker.sock \ 
  jenkinsci/blueocean 
(可選) jenkinsci/blueocean 關閉時自動刪除Docker容器(下圖爲實例)。如果您需要退出Jenkins,這可以保持整潔。

(可選)jenkinsci/blueocean 在後臺運行容器(即“分離”模式)並輸出容器ID。如果您不指定此選項, 則在終端窗口中輸出正在運行的此容器的Docker日誌。
映射(例如“發佈”)jenkinsci/blueocean 容器的端口8080到主機上的端口8080。 第一個數字代表主機上的端口,而最後一個代表容器的端口。因此,如果您爲此選項指定 -p 49000:8080 ,您將通過端口49000訪問主機上的Jenkins。
(可選)將 jenkinsci/blueocean 容器的端口50000 映射到主機上的端口50000。 如果您在其他機器上設置了一個或多個基於JNLP的Jenkins代理程序,而這些代理程序又與 jenkinsci/blueocean 容器交互(充當“主”Jenkins服務器,或者簡稱爲“Jenkins主”), 則這是必需的。默認情況下,基於JNLP的Jenkins代理通過TCP端口50000與Jenkins主站進行通信。 您可以通過“ 配置全局安全性” 頁面更改Jenkins主服務器上的端口號。如果您要將您的Jenkins主機的JNLP代理端口的TCP端口 值更改爲51000(例如),那麼您需要重新運行Jenkins(通過此 docker run …​命令)並指定此“發佈”選項 -p 52000:51000,其中最後一個值與Jenkins master上的這個更改值相匹配,第一個值是Jenkins主機的主機上的端口號, 通過它,基於JNLP的Jenkins代理與Jenkins主機進行通信 - 例如52000。
(可選,但強烈建議)映射在容器中的/var/jenkins_home 目錄到具有名字 jenkins-data 的volume。 如果這個卷不存在,那麼這個 docker run 命令會自動爲你創建卷。 如果您希望每次重新啓動Jenkins(通過此 docker run … 命令)時保持Jenkins狀態,則此選項是必需的 。 如果你沒有指定這個選項,那麼在每次重新啓動後,Jenkins將有效地重置爲新的實例。
注意: 所述的 jenkins-data 卷也可以 docker volume create命令創建: docker volume create jenkins-data 代替映射 /var/jenkins_home 目錄轉換爲Docker卷,還 可以將此目錄映射到計算機本地文件系統上的目錄。 例如,指定該選項 -v HOME/jenkins:/var/jenkinshome/var/jenkinshomejenkinsHOME/jenkins:/var/jenkins_home 會將容器的 /var/jenkins_home 目錄映射 到 本地計算機上目錄中的 jenkins 子目錄, 該HOME目錄通常是 /Users//jenkins 或/home/<your-username>/jenkins
(可選 /var/run/docker.sock 表示Docker守護程序通過其監聽的基於Unix的套接字。 該映射允許 jenkinsci/blueocean 容器與Docker守護進程通信, 如果 jenkinsci/blueocean 容器需要實例化其他Docker容器,則該守護進程是必需的。 如果運行聲明式管道,其語法包含agent部分用 docker
例如, agent { docker { … } } 此選項是必需的。 在Pipeline Syntax 頁面上閱讀更多關於這個的信息 。

jenkinsci/blueocean Docker鏡像本身。如果此鏡像尚未下載,則此 docker run 命令 將自動爲您下載鏡像。此外,如果自上次運行此命令後發佈了此鏡像的任何更新, 則再次運行此命令將自動爲您下載這些已發佈的鏡像更新。 注意:這個Docker鏡像也可以使用以下 docker pull命令獨立下載(或更新) : docker pull jenkinsci/blueocean 注意: 如果複製並粘貼上面的命令片段不起作用,請嘗試在此處複製並粘貼此無註釋版本:

docker run \
  -u root \
  --rm \
  -d \
  -p 8080:8080 \
  -p 50000:50000 \
  -v jenkins-data:/var/jenkins_home \
  -v /var/run/docker.so

Linux
Debian/Ubuntu
在基於Debian的發行版(如Ubuntu)上,您可通過apt安裝Jenkins
在an apt repository可獲得最新版本,較老但穩定的LTS版本在this apt repository這裏可獲得。

wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.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

安裝這個軟件包將會:

將Jenkins設置爲啓動時啓動的守護進程。查看/etc/init.d/jenkins獲取更多細節

創建一個’jenkins’用戶來運行此服務

直接將控制檯日誌輸出到文件/var/log/jenkins/jenkins.log。如果您正在解決Jenkins問題,請檢查此文件

/etc/default/jenkins`爲啓動填充配置參數,例如JENKINS_HOME

將Jenkins設置爲在端口8080上進行監聽。使用瀏覽器訪問此端口以開始配置
Jenkins安裝指導官網

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