閱讀372 返回首頁    go 阿裏雲 go 技術社區[雲棲]


如何在 Ubuntu16.04 中用 Apache 部署 Jenkins 自動化服務器

Jenkins 是從 Hudson 項目衍生出來的自動化服務器。Jenkins 是一個基於服務器的應用程序,運行在 Java servlet 容器中,它支持包括 Git、SVN 以及 Mercurial 在內的多種 SCM(源碼控製工具Source Control Management)。Jenkins 提供了上百種插件幫助你的項目實現自動化。Jenkins 由 Kohsuke Kawaguchi 開發,在 2011 年使用 MIT 協議發布了第一個發行版,它是個自由軟件。

在這篇指南中,我會向你介紹如何在 Ubuntu 16.04 中安裝最新版本的 Jenkins。我們會用自己的域名運行 Jenkins,在 apache web 服務器中安裝和配置 Jenkins,而且支持反向代理。

前提

  • Ubuntu 16.04 服務器 - 64 位
  • Root 權限

第一步 - 安裝 Java OpenJDK 7

Jenkins 基於 Java,因此我們需要在服務器上安裝 Java OpenJDK 7。在這裏,我們會從一個 PPA 倉庫安裝 Java 7,首先我們需要添加這個倉庫。

默認情況下,Ubuntu 16.04 沒有安裝用於管理 PPA 倉庫的 python-software-properties 軟件包,因此我們首先需要安裝這個軟件。使用 apt 命令安裝 python-software-properties。


  1. apt-get install python-software-properties

下一步,添加 Java PPA 倉庫到服務器中。


  1. add-apt-repository ppa:openjdk-r/ppa

用 apt 命令更新 Ubuntu 倉庫並安裝 Java OpenJDK。


  1. apt-get update
  2. apt-get install openjdk-7-jdk

輸入下麵的命令驗證安裝:


  1. java -version

你會看到安裝到服務器上的 Java 版本。

在 Ubuntu 16.04 上安裝 Java OpenJDK 7

在 Ubuntu 16.04 上安裝 Java OpenJDK 7

第二步 - 安裝 Jenkins

Jenkins 給軟件安裝包提供了一個 Ubuntu 倉庫,我們會從這個倉庫中安裝 Jenkins。

用下麵的命令添加 Jenkins 密鑰和倉庫到係統中。


  1. wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
  2. echo 'deb https://pkg.jenkins.io/debian-stable binary/' | tee -a /etc/apt/sources.list

更新倉庫並安裝 Jenkins。


  1. apt-get update
  2. apt-get install jenkins

安裝完成後,用下麵的命令啟動 Jenkins。


  1. systemctl start jenkins

通過檢查 Jenkins 默認使用的端口(端口 8080)驗證 Jenkins 正在運行。我會像下麵這樣用 netstat 命令檢測:


  1. netstat -plntu

Jenkins 已經安裝好了並運行在 8080 端口。

已經將 Jenkins 安裝到 8080 端口

已經將 Jenkins 安裝到 8080 端口

第三步 - 為 Jenkins 安裝和配置 Apache 作為反向代理

在這篇指南中,我們會在一個 Apache web 服務器中運行 Jenkins,我們會為 Jenkins 配置 apache 作為反向代理。首先我會安裝 apache 並啟用一些需要的模塊,然後我會為 Jenkins 用域名 my.jenkins.id 創建虛擬主機文件。請在這裏使用你自己的域名並在所有配置文件中出現的地方替換。

從 Ubuntu 倉庫安裝 apache2 web 服務器。


  1. apt-get install apache2

安裝完成後,啟用 proxy 和 proxy_http 模塊以便將 apache 配置為 Jenkins 的前端服務器/反向代理。


  1. a2enmod proxy
  2. a2enmod proxy_http

下一步,在 sites-available 目錄創建新的虛擬主機文件。


  1. cd /etc/apache2/sites-available/
  2. vim jenkins.conf

粘貼下麵的虛擬主機配置。


  1. <Virtualhost *:80>
  2. ServerName my.jenkins.id
  3. ProxyRequests Off
  4. ProxyPreserveHost On
  5. AllowEncodedSlashes NoDecode
  6. <Proxy http://localhost:8080/*>
  7. Order deny,allow
  8. Allow from all
  9. </Proxy>
  10. ProxyPass / https://localhost:8080/ nocanon
  11. ProxyPassReverse / https://localhost:8080/
  12. ProxyPassReverse / https://my.jenkins.id/
  13. </Virtualhost>

保存文件。然後用 a2ensite 命令激活 Jenkins 虛擬主機。


  1. a2ensite jenkins

重啟 Apache 和 Jenkins。


  1. systemctl restart apache2
  2. systemctl restart jenkins

檢查 Jenkins 和 Apache 正在使用 80 和 8080 端口。


  1. netstat -plntu

檢查 Apache 和 Jenkins 是否在運行

檢查 Apache 和 Jenkins 是否在運行

第四步 - 配置 Jenkins

Jenkins 用域名 'my.jenkins.id' 運行。打開你的 web 瀏覽器然後輸入 URL。你會看到要求你輸入初始管理員密碼的頁麵。Jenkins 已經生成了一個密碼,因此我們隻需要顯示並把結果複製到密碼框。

用 cat 命令顯示 Jenkins 初始管理員密碼。


  1. cat /var/lib/jenkins/secrets/initialAdminPassword
  2. a1789d1561bf413c938122c599cf65c9

獲取 Jenkins 管理員密碼

獲取 Jenkins 管理員密碼

將結果粘貼到密碼框然後點擊 Continue。

安裝和配置 Jenkins

安裝和配置 Jenkins

現在為了後麵能比較好的使用,我們需要在 Jenkins 中安裝一些插件。選擇 Install Suggested Plugin,點擊它。

安裝 Jenkins 插件

安裝 Jenkins 插件

Jenkins 插件安裝過程:

Jenkins 安裝完插件

Jenkins 安裝完插件

安裝完插件後,我們需要創建一個新的管理員密碼。輸入你的管理員用戶名、密碼、電子郵件等,然後點擊 ‘Save and Finish’。

創建 Jenkins 管理員賬戶

創建 Jenkins 管理員賬戶

點擊 start 開始使用 Jenkins。你會被重定向到 Jenkins 管理員麵板。

重定向到管理員麵板

重定向到管理員麵板

成功完成 Jenkins 安裝和配置。

Jenkins 管理員麵板

Jenkins 管理員麵板

第五步 - Jenkins 安全

在 Jenkins 管理員麵板,我們需要為 Jenkins 配置標準的安全,點擊 ‘Manage Jenkins’ 和 ‘Configure Global Security’。

Jenkins 全局安全設置

Jenkins 全局安全設置

Jenkins 在 ‘Access Control’ 部分提供了多種認證方法。為了能夠控製所有的用戶權限,我選擇了 ‘Matrix-based Security’。在複選框 ‘User/Group’ 中啟用 admin 用戶。通過勾選所有選項給 admin 所有權限,給 anonymous 隻讀權限。現在點擊 ‘Save’。

配置 Jenkins 權限

配置 Jenkins 權限

你會被重定向到麵板,如果出現了登錄選項,隻需輸入你的管理員賬戶和密碼。

第六步 - 測試一個簡單的自動化任務

在這一部分,我想為 Jenkins 服務測試一個簡單的任務。為了測試 Jenkins 我會創建一個簡單的任務,並用 top 命令查看服務器的負載。

在 Jenkins 管理員麵板上,點擊 ‘Create New Job’。

在 Jenkins 中創建新的任務

在 Jenkins 中創建新的任務

輸入任務的名稱,在這裏我輸入 ‘Checking System’,選擇 Freestyle Project 然後點擊 OK。

配置 Jenkins 任務

配置 Jenkins 任務

進入 Build 標簽頁。在 Add build step,選擇選項 Execute shell。

在輸入框輸入下麵的命令。


  1. top -b -n 1 | head -n 5

點擊 Save。

啟動 Jenkins 任務

啟動 Jenkins 任務

現在你是在任務 ‘Project checking system’ 的任務頁。點擊 Build Now 執行任務 ‘checking system’。

任務執行完成後,你會看到 Build History,點擊第一個任務查看結果。

下麵是 Jenkins 任務執行的結果。

構建和運行 Jenkins 任務

構建和運行 Jenkins 任務

原文發布時間為:2017-05-08

本文來自雲棲社區合作夥伴“Linux中國”

最後更新:2017-05-19 13:33:17

  上一篇:go  活在終極算法的世界,是怎樣一種體驗?
  下一篇:go  華爾街宮鬥戲升溫:銀行巨頭和紐交所爭奪交易數據所有權