參考資料
Jenkins用戶手冊 https://jenkins.io/zh/doc/
安裝 jenkins
https://jenkins.io/zh/download/
https://pkg.jenkins.io/redhat-stable/
- yum安裝:
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
yum install jenkins
- rpm包安裝指定版本:
rpm -ivh jenkins-2.138-1.1.noarch.rpm
2.138版本的中文比較好一些。
- 安裝Java
注意如果服務器上已經(jīng)安裝了java,注意下Java版本。參照手冊
yum install java-1.8.0-openjdk
[root@zhangxiu-test ~]# java -version
openjdk version "1.8.0_201"
OpenJDK Runtime Environment (build 1.8.0_201-b09)
OpenJDK 64-Bit Server VM (build 25.201-b09, mixed mode)
- 啟動與停止
service jenkins start/stop/restart
chkconfig jenkins on
配置
- 通過瀏覽器訪問8080端口(可通過修改配置文件
/etc/sysconfig/jenkins更改端口)。 - 按照引導輸入密碼
/var/lib/jenkins/secrets/initialAdminPassword - 配置角色權限 需要用到插件 Role-based Authorization Strategy
- 配置git代碼憑據(jù) 需要用到 Git client plugin,配置使用那個git分支需要用到 Git Parameter
- 添加git憑據(jù): 憑據(jù)=》系統(tǒng)=》全局憑據(jù)=》添加憑據(jù)。選擇 ssh username with private key
- 常用插件
Git client plugin
Utility plugin for Git support in Jenkins. 集成git
Git Parameter
Adds ability to choose branches, tags or revisions from git repositories configured in project. 可以選擇使用git哪個分支
publish over ssh
Deploy to container
Dingding[釘釘]
釘釘Jenkins通知器
Mailer Plugin
This plugin allows you to configure email notifications for build results
郵件發(fā)送構建結果
Email Extension
This plugin is a replacement for Jenkins's email publisher. It allows to configure every aspect of email notifications: when an email is sent, who should receive it and what the email says
擴展了發(fā)送告警郵件的控制力度??梢远x郵件觸發(fā)器、郵件內容、收件人
Email Extension Template
Role-based Authorization Strategy
Enables user authorization using a Role-Based strategy. Roles can be defined globally or for particular jobs or nodes selected by regular expressions.
用戶角色權限控制
Matrix Authorization Strategy Plugin
Offers matrix-based security authorization strategies (global and per-project). 為每個項目設置用戶權限
Backup plugin
Backup or restore your Hudson configuration files
jenkins服務器遷移
新服務器安裝相同版本的jenkins,然后同步主目錄下的部分文件到新的服務器。
rsync -avrl --progress /var/lib/jenkins/ root@192.168.1.2:/var/lib/jenkins/ --include-from=/root/include.txt --exclude=/*
include.txt內容如下
config.xml
credentials-configuration.xml
credentials.xml
jobs/
plugins/
secrets/
users/
workspace/
jenkins版本號可在“系統(tǒng)管理=》關于Jenkins”查看
主目錄位置 可在“系統(tǒng)管理=》系統(tǒng)設置”中查看。默認為/var/lib/jenkins/
同步完畢之后注意修改一下jenkins主目錄的所有者,不然會啟動失敗。
常見問題
-
停用權限控制插件(Role-based Authorization Strategy)后系統(tǒng)不能運行
不能運行.png
cd /var/lib/jenkins/
#備份配置文件
cp config.xml config.xml.bak
vim config.xml
#useSecurity 改為false
# 去掉關于權限控制的 authorizationStrategy 和 securityRealm
service jenkins restart
# 啟動服務后 開啟權限控制插件,重啟服務
cp config.xml.bak config.xml
service jenkins restart
- 構建失敗 git Host key verification failed.
構建失敗.png
在jenkins服務器,切換用戶su -s /bin/bash jenkins
執(zhí)行ssh-keygen -t rsa生成密鑰,把公鑰上傳到gitlab
執(zhí)行git ls-remote -h git@code.aliyun.com:dxk/easy.git生成host key

