天天看點

Jenkins學習筆記(一)-簡介,部署,與基本配置

jenkins 介紹

jenkins 介紹

jenkins 是一個基于 java 開發的在自動化伺服器,是一款開源 CI&CD 軟體,用于自動化各種任務,包括建構、測試和部署軟體。

特性:

  • 易于安裝
  • 易于配置
  • 內建 RSS/Email,通過 RSS 釋出建構結果或通過 email 通知
  • 生成 Junit/TestNG 測試報告
  • 支援分布式建構,讓多台計算機一起建構
  • 檔案識别,能跟蹤哪次建構了哪些包
  • 插件支援,大量官方插件以及可自定義插件

jenkins 搭建

war 部署

下載下傳最新的 jenkins war 包 下載下傳位址

兩種啟動方法:

  • java -jar jenkins.war

    , 然後通過 8080 端口通路
  • 将 war 包放到 tomcat 的 webapps 目錄下,然後啟動 tomcat,通過本機域名/jenkins通路

apt 安裝

對于 Debian/Ubuntu 系統,通過 apt 安裝

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 上進行監聽。

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 鏡像,該鏡像包含目前的長期支援 (LTS) 的 Jenkins 版本 (可以投入使用) ,捆綁了所有 Blue Ocean 插件和功能,不需要單獨安裝 Blue Ocean 插件。

也可以使用 jenkins tls 版本 jenkins/jenkins:tls

因為需要擷取登入密碼,是以必須先在本機建立/var/jenkins_home作 jenkins 的 volume,即 jenkins 的預設存放密碼的目錄。

若需要配置 jdk、maven 等目錄,要作 volume 映射。

,需要添加幾項參數:

docker run -u root -d \
   -p 8080:8080 -p 50000:50000 \
   -v /var/run/docker.sock:/var/run/docker.sock \
   -v /usr/lib/jvm/java-8-openjdk-amd64:/usr/lib/jvm/java-8-openjdk-amd64 \
   -v /var/jenkins_home:/var/jenkins_home \
   --name jenkins \
   jenkinsci/blueocean
           

需要修改/var/jenkins_home的權限,使目前使用者能有管理權限(所屬人),這樣才能檢視 secrets 下的 initialAdminPassword 檔案。secrets目錄的預設權限為:700

配置系統

配置發件人位址

進入配置系統(Configure System) -> Jenkins Location 配置

Jenkins學習筆記(一)-簡介,部署,與基本配置

環境變量

Global properties 中可配置常用變量例如

GO_VERSION

,

JDK_VERSION

,

DB_PATH

等,可在日志和說明資訊中引用

Jenkins學習筆記(一)-簡介,部署,與基本配置

其他插件根據需要在Manage Plugin中自行安裝配置

繼續閱讀