什么是 Jenkins
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
個插件)可以滿足不同人群的不同需求
注意: 除了默認勾選的插件外,一定要勾選 Publish over SSH
插件,這是我們實現(xiàn)持續(xù)交付的重點插件。
開始安裝了,根據(jù)網(wǎng)絡情況,安裝時間可能會比較長,請耐心等待
很多插件裝不上怎么辦?不要慌,記住這些插件的名字,咱們稍后可以手動安裝
安裝成功效果圖
- 創(chuàng)建管理員
- 安裝完成,進入首頁
附:Jenkins 手動安裝插件
使用插件管理器安裝
-
系統(tǒng)管理
->插件管理
->Avaliable
- 過濾出想要安裝的插件,然后點擊
Download now and install after restart
手動上傳 .hpi
文件
- 點擊進入插件中心
- 點擊
Archives
- 下載需要的版本
- 在插件管理器中選擇
Advanced
- 選擇上傳即可
重啟 Jenkins
docker-compose down
docker-compose up -d
注意: 請留意需要下載插件的警告信息,如果不滿足安裝條件,Jenkins 是會拒絕安裝的。如下圖:
配置 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)管理
->全局工具配置
- 別忘記保存
配置本地化(顯示中文)
- 安裝
Locale
插件
-
Manage Jenkins
->Configure System
->Locale
- 本地化效果圖
安裝動態(tài)參數(shù)插件
該插件的主要目的是為了方便我們后面在做項目構(gòu)建時可以按照版本進行構(gòu)建(支持一鍵回滾哦)
持續(xù)交付實戰(zhàn): 部署第一個Java應用
配置 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 查看剛才生成的文件
新建構(gòu)建項
點擊立即構(gòu)建
配置發(fā)布項 (Publish over SSH)
- 添加docker服務器ssh遠程管理
-
系統(tǒng)管理
->系統(tǒng)設置
->Publish over SSH
- 測試是否能夠正常通信 點擊
Test Configuration
- 別忘記保存
-
創(chuàng)建部署項
部署項目
點擊立即構(gòu)建
,成功后 docker ps -a
查看