Jenkins安装和持续集成环境配置
Jenkins安裝和持續集成環境配置
- 持續集成說明
- Jenkins安裝
- Jenkins插件管理
- 下載中文漢化插件
- Jenkins用戶權限管理
- 安裝Role-based Authorization Strategy插件
- 開啟全局安全策略
- 創建角色
- 創建用戶
- 給用戶分配權限
- Jenkins的憑證管理
- 安裝Credentials Binding插件
- 安裝Git插件和Git工具
- 用戶密碼類型
- 創建憑證
- 測試憑證是否可用
- SSH密鑰類型
- SSH免登錄示意圖
- 使用root用戶生成公鑰和私鑰
- 把生成的公鑰放到Gitlab中
- 在Jenkins中添加憑證,配置私鑰
- 測試憑證是否可用
- Maven的安裝和配置
- 全局工具關聯JDK和Maven
- 添加Jenkins全局變量
- 測試Maven是否配置成功
- 擴展
持續集成說明
● 首先,開發人員每天進行代碼提交,提交到Git倉庫。
● Jenkins作為持續集成工具,使用Git工具到Git倉庫拉取代碼到持續集成服務器,再配合JDK,Maven等軟件完成代碼的編譯、測試、審核、打包等工作,在這個過程中每一步出錯,都重新再執行一次整個流程。
● 最后,Jenkins把生成的jar包分發到測試服務器或者生產服務器,測試人員或用戶就可以訪問應用了。
Jenkins安裝
- Jenkins由Java編寫,因此首先確保服務器上的jdk環境已經配置正確
- 下載Jenkins:
- jenkins的rpm/war包下載地址 https://mirrors.jenkins-ci.org/
- 安裝Jenkins
- 修改Jenkins的配置
高版本配置文件修改過程類似。
#修改配置后,重新加載配置 systemctl daemon-reload #如果jks已經啟動了,那么還需要重啟jks service jenkins restart- 啟動Jenkins
- 開機自啟動
- 訪問測試
- 獲取并輸入密碼
- 跳過插件安裝
因為Jenkins插件需要默認連接官網下載,速度巨慢,而且經常會失敗,所以可以暫時跳過插件安裝
- 添加一個管理員賬戶,并進入Jenkins后臺
Jenkins插件管理
Jenkins本身不提供很多功能,我們可以通過使用插件來滿足我們的使用。比如從Gitee拉取代碼,使用Maven構建項目等功能都需要依靠插件完成。
- 修改Jenkins插件的下載地址
● Jenkins國外官方插件地址下載速度非常慢,所以我們需要手動修改為國內插件地址。
● Jenkins–>Manage Jenkins–>Manage Plugins,點擊Available。
這么做的目的是為了將Jenkins官方的插件列表下載到本地。
- 修改地址文件,替換為國內插件地址:
- 點擊Manage Plugins中的Advanced,將Update SIte改為國內插件下載地址:
- 點擊submit后,在瀏覽器輸入http://xxx:8888/restart,重啟Jenkins。
下載中文漢化插件
- Jenkins–>Manage Jenkins–>Manage Plugins,點擊Available,搜索“Chinese”。
- 重啟Jenkins后,就看到Jenkins漢化了(但是,可能部分菜單漢化會失敗)。
Jenkins用戶權限管理
- Jenkins本身的授權管理是很粗糙的,我們可以使用“Role-based Authorization Strategy”插件來管理Jenkins的用戶權限。
安裝Role-based Authorization Strategy插件
開啟全局安全策略
- 授權策略切換為“Role-Based Stragegy”,保存。
- 還需要允許用戶的創建和注冊
創建角色
- Manage Jenkins–>Manage and Assign Roles:
- 點擊“Manage Roles”:
- Global roles:全局角色,管理員等高級用戶可以創建基于全局的角色。
- Item roles:項目角色,針對某個或某些項目的角色。
- Node roles:節點角色,節點相關權限的角色。
● 添加下面三個角色:
○ baseRole:該角色為全局角色。這個角色需要綁定Overall下面的Read權限,是為了給所有用戶綁定最基本的Jenkins的訪問權限。注意:如果不給后續的用戶綁定這個角色,會報錯:用戶名 is missing the Overall/Read Permission。
○ role1:該角色為項目角色。使用正則表達式綁定“spring.*”,意思是只能操作spring開頭的項目。
○ role2:該角色為項目角色。使用正則表達式綁定“springboot.*”,意思是只能操作springboot開頭的項目。
【Jenkins】登錄失敗的問題
創建用戶
- Manage Jenkins–>Manage Users–>新建用戶:
- 分別創建兩個用戶:xpy和cjdhy
給用戶分配權限
- Manage Jenkins–>Manage and Assign Roles–>Assign Roles:
● 綁定規則如下:
○ xpy用戶分別綁定baseRole和role1角色。
○ cjdhy用戶分別綁定baseRole和role2角色。
Jenkins的憑證管理
憑證可以用來存儲需要密文保護的數據庫密碼、GitHub密碼信息、Docker私有倉庫密碼等,以便Jenkins可以和這些第三方應用進行交互。
安裝Credentials Binding插件
要在Jenkins使用憑證管理功能,需要安裝Credentials Binding插件。
- 安裝插件后,多了“管理憑證”的菜單,在這里管理所有的憑證信息:
- 可以添加的憑證有5種:
● Username with password:用戶名和密碼。
● SSH Username with private key:使用SSH用戶和密鑰。
● Secret file:需要保密的文本文件,使用時Jenkins會將文件復制到一個臨時目錄中,再將文件路徑設置到一個變量中,等構建結束后,所復制的Secret file就會被刪除。
● Secret text:需要保密的一個加密的文本串,比如釘釘或GitHub的api token。
● Certificate:通過上傳證書文件的方式。
常用的憑證類型有:Username with password(用戶名密碼)和SSH Username with private key(SSH密鑰)。
安裝Git插件和Git工具
● 為了讓Jenkins支持從Gitee上拉取源碼,需要安裝Git插件以及在Centos7上安裝Git工具。
● Git插件的安裝:
- 在CentOS7上安裝Git:
用戶密碼類型
創建憑證
● Jenkins–>憑證–>系統–>全局憑證–>添加憑證:
測試憑證是否可用
創建自由項目:
- 復制對應項目的url
- 找到“源碼管理”–>“Git”,將要構建項目的倉庫地址復制進去
- 此時,會報錯說無法連接到倉庫,那是因為沒有選擇剛才添加的憑證
- 點擊構建“Build Now”開始構建項目:
- 查看/var/lib/jenkins/workspace/目錄,可用發現已經從Gitee中成功拉取代碼到Jenkins中。
SSH密鑰類型
SSH免登錄示意圖
使用root用戶生成公鑰和私鑰
● 使用root用戶生成公鑰和私鑰:
ssh-keygen -t rsa- 默認生成的公鑰和私鑰在/root/.ssh目錄中,其中id_rsa是私鑰文件,id_rsa.pub是公鑰文件:
把生成的公鑰放到Gitlab中
● 以root賬戶登錄–>點擊頭像–>Settings–>SSH Keys。
● 復制剛才生成的id_rsa.pub文件的內容,點擊“Add Key”:
在Jenkins中添加憑證,配置私鑰
- 在Jenkins中添加憑證,類型為“SSH Username with private key”,把剛才生成的私鑰文件的內容復制進去。
測試憑證是否可用
- 新建“test02”項目–>源碼管理–>Git,這里要使用Gitlab的SSH連接,并且選擇SSH憑證:
同樣嘗試構建項目,如果代碼可以正常拉取,則代表憑證配置成功。
Maven的安裝和配置
- 下載、安裝和配置Maven
修改Maven的本地倉庫,并配置阿里云鏡像:
cd /usr/local/apache-maven-3.6.3 mkdir repository vim conf/settings.xml <!-- 修改內容 --> <localRepository>/usr/local/apache-maven-3.6.3/repository</localRepository> <mirrors><!-- 修改內容 --><mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共倉庫</name><url>https://maven.aliyun.com/repository/public</url></mirror> </mirrors>全局工具關聯JDK和Maven
- Jenkins–>Manage Jenkins–>Global Tool Configuration–>JDK–>新增JDK:
- Jenkins–>Manage Jenkins–>Global Tool Configuration–>Maven->新增Maven:
添加Jenkins全局變量
- Jenkins–>Manage Jenkins–>Configure System–>Global Properties,添加三個全局變量:JAVA_HOME、M2_HOME和PATH+EXTRA。
測試Maven是否配置成功
- 對之前構建的測試項目,增加新的構建步驟
輸入如下的構建命令:
mvn clean install- 再次構建,如果將項目打成jar包,代表Maven環境配置成功。
擴展
對于Maven項目部署來說,推薦安裝下面這個插件,從而直接根據項目的pom文件進行項目的部署。
總結
以上是生活随笔為你收集整理的Jenkins安装和持续集成环境配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: idea 提交git常见操作
- 下一篇: Matlab【可视化作图】绘制线电压相电