Linux中國

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

在這篇指南中,我會向你介紹如何在 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。

apt-get install python-software-properties

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

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

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

apt-get update
apt-get install openjdk-7-jdk

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

java -version

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

在 Ubuntu 16.04 上安裝 Java OpenJDK 7

第二步 - 安裝 Jenkins

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

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

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

更新倉庫並安裝 Jenkins。

apt-get update
apt-get install jenkins

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

systemctl start jenkins

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

netstat -plntu

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

已經將 Jenkins 安裝到 8080 埠

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

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

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

apt-get install apache2

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

a2enmod proxy
a2enmod proxy_http

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

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

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

<Virtualhost *:80>
    ServerName        my.jenkins.id
    ProxyRequests     Off
    ProxyPreserveHost On
    AllowEncodedSlashes NoDecode

    <Proxy http://localhost:8080/*>
      Order deny,allow
      Allow from all
    </Proxy>

    ProxyPass         /  http://localhost:8080/ nocanon
    ProxyPassReverse  /  http://localhost:8080/
    ProxyPassReverse  /  http://my.jenkins.id/
</Virtualhost>

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

a2ensite jenkins

重啟 Apache 和 Jenkins。

systemctl restart apache2
systemctl restart jenkins

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

netstat -plntu

檢查 Apache 和 Jenkins 是否在運行

第四步 - 配置 Jenkins

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

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

cat /var/lib/jenkins/secrets/initialAdminPassword
a1789d1561bf413c938122c599cf65c9

獲取 Jenkins 管理員密碼

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

安裝和配置 Jenkins

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

安裝 Jenkins 插件

Jenkins 插件安裝過程:

Jenkins 安裝完插件

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

創建 Jenkins 管理員賬戶

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

重定向到管理員面板

成功完成 Jenkins 安裝和配置。

Jenkins 管理員面板

第五步 - Jenkins 安全

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

Jenkins 全局安全設置

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

配置 Jenkins 許可權

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

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

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

在 Jenkins 管理員面板上,點擊 『Create New Job』。

在 Jenkins 中創建新的任務

輸入任務的名稱,在這裡我輸入 『Checking System』,選擇 Freestyle Project 然後點擊 OK。

配置 Jenkins 任務

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

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

top -b -n 1 | head -n 5

點擊 Save。

啟動 Jenkins 任務

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

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

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

構建和運行 Jenkins 任務

到這裡就介紹完了在 Ubuntu 16.04 中用 Apache web 伺服器安裝 Jenkins 的內容。

via: https://www.howtoforge.com/tutorial/how-to-install-jenkins-with-apache-on-ubuntu-16-04/

作者:Muhammad Arul 譯者:ictlyh 校對:wxy

本文由 LCTT 組織編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國