Jenkins 持續(xù)交付

什么是 Jenkins

Logo

Jenkins 是一個開源軟件項目,是基于 Java 開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復的工作,旨在提供一個開放易用的軟件平臺,使軟件的持續(xù)集成變成可能。

官方網(wǎng)站:https://jenkins.io/

基于 Docker 安裝 Jenkins

docker-compose

Jenkins 是一個簡單易用的持續(xù)集成軟件平臺,我們依然采用 Docker 的方式部署,docker-compose.yml配置文件如下:

version: '3.1'
services:
  jenkins:
    restart: always
    image: jenkinsci/jenkins
    container_name: jenkins
    ports:
      # 發(fā)布端口
      - 8080:8080
      # 基于 JNLP 的 Jenkins 代理通過 TCP 端口 50000 與 Jenkins master 進行通信
      - 50000:50000
    environment:
      TZ: Asia/Shanghai
    volumes:
      - ./data:/var/jenkins_home

安裝過程中會出現(xiàn) Docker 數(shù)據(jù)卷 權(quán)限問題,用以下命令解決:

chown -R a+w data

解鎖 Jenkins

Jenkins 第一次啟動時需要輸入一個初始密碼用以解鎖安裝流程,使用 docker logs jenkins 即可方便的查看到初始密碼

初始密碼

打開: http://10.3.50.160:8080

輸入密碼解鎖

注意: 安裝時可能會因為網(wǎng)速等原因?qū)е掳惭b時間比較長,請大家耐心等待。如果長時間停留在安裝頁沒反應,請嘗試使用 F5 刷新一下。

使用自定義插件的方式安裝

插件是 Jenkins 的核心,其豐富的插件(截止到 2018.10.29 共有 77350 個插件)可以滿足不同人群的不同需求

image

注意: 除了默認勾選的插件外,一定要勾選 Publish over SSH 插件,這是我們實現(xiàn)持續(xù)交付的重點插件。

image

開始安裝了,根據(jù)網(wǎng)絡情況,安裝時間可能會比較長,請耐心等待

image

很多插件裝不上怎么辦?不要慌,記住這些插件的名字,咱們稍后可以手動安裝

image

安裝成功效果圖

  • 創(chuàng)建管理員
創(chuàng)建管理員
  • 安裝完成,進入首頁
image

附:Jenkins 手動安裝插件

使用插件管理器安裝
  • 系統(tǒng)管理 -> 插件管理 -> Avaliable
插件管理
  • 過濾出想要安裝的插件,然后點擊 Download now and install after restart
手動下載
image

手動上傳 .hpi 文件

  • 點擊進入插件中心
image
  • 點擊 Archives
image
  • 下載需要的版本
image
  • 在插件管理器中選擇 Advanced
image
  • 選擇上傳即可
image

重啟 Jenkins

docker-compose down
docker-compose up -d

注意: 請留意需要下載插件的警告信息,如果不滿足安裝條件,Jenkins 是會拒絕安裝的。如下圖:

image

配置 Jenkins

配置 JDK & Maven

現(xiàn)在宿主機安裝好JDK & Maven,然后掛載到jenkins容器

...
    volumes:
      - ./data:/var/jenkins_home
      - /usr/local/java/jdk1.8.0_152:/usr/local/java/jdk1.8.0_152
      - /usr/local/java/apache-maven-3.6.0:/usr/local/java/apache-maven-3.6.0

系統(tǒng)管理->全局工具配置

jdk配置

maven配置
  • 別忘記保存

配置本地化(顯示中文)

  • 安裝 Locale 插件
image
  • Manage Jenkins -> Configure System -> Locale
image
  • 本地化效果圖
image

安裝動態(tài)參數(shù)插件

該插件的主要目的是為了方便我們后面在做項目構(gòu)建時可以按照版本進行構(gòu)建(支持一鍵回滾哦)

image

持續(xù)交付實戰(zhàn): 部署第一個Java應用

應用構(gòu)建流程

配置 Jenkins 的 GitLab SSH 免密登錄

  • 交互式進入 Jenkins 容器
docker exec -it jenkins /bin/bash
  • 生成 SSH KEY
ssh-keygen -t rsa -C "suoron@163.com"
  • 查看公鑰
cat /var/jenkins_home/.ssh/id_rsa.pub
  • 復制公鑰到 GitLab
image
  • 手動克隆一次項目,該步驟的主要作用是為了生成和服務器的驗證信息

    image

  • 查看剛才生成的文件

image

新建構(gòu)建項

下拉源碼
構(gòu)建方式

點擊立即構(gòu)建

配置發(fā)布項 (Publish over SSH)

  1. 添加docker服務器ssh遠程管理
  • 系統(tǒng)管理 -> 系統(tǒng)設置 -> Publish over SSH
QQ瀏覽器截圖20190320120127.png
  • 測試是否能夠正常通信 點擊Test Configuration
  • 別忘記保存
  1. 創(chuàng)建部署項


    部署項目

點擊立即構(gòu)建,成功后 docker ps -a 查看

附:參考資料

Jenkins之定時構(gòu)建

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。