1. 程式人生 > >CentOS 7 搭建Jenkins+JDK+Git+Maven+Gradle持續集成系統

CentOS 7 搭建Jenkins+JDK+Git+Maven+Gradle持續集成系統

baseurl mpi https fail inf sco uil *** 編譯

一、Jenkinx

官網:https://jenkins.io/

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

Jenkins功能包括: 1、持續的軟件版本發布/測試項目。 2、監控外部調用執行的工作。 Jenkins啟動: 首先保證系統中已經安裝了jdk,最好是jdk1.8以上。 第一種啟動方法,切換到jenkins.jar存放的目錄,輸入如下命令: $ java -jar jenkins.jar 然後在瀏覽器中(推薦用火狐)輸入localhost:8080,localhost可以是本機的ip,也可以是計算機名。就可以打開jenkins 第二種方法是用tomcat打開 解壓tomcat到某個目錄,如/usr/local,進入tomcat下的/bin目錄,啟動tomcat 將jenkins.war文件放入tomcat下的webapps目錄下,啟動tomcat時,會自動在webapps目錄下建立jenkins目錄,所以在地址欄上需要輸入的地址於上一種方法有點不一樣。 二、GIT(分布式版本控制系統) 官網:https://git-scm.com/ Git是一款免費、開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的項目。Git的讀音為/g?t/。 Git是一個開源的分布式版本控制系統,可以有效、高速的處理從很小到非常大的項目版本管理。Git 是 Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件。 三、Maven 官網:http://maven.apache.org/ Maven項目對象模型(POM),可以通過一小段描述信息來管理項目的構建,報告和文檔的軟件項目管理工具。 Maven 除了以程序構建能力為特色之外,還提供高級項目管理工具。由於 Maven 的缺省構建規則有較高的可重用性,所以常常用兩三行 Maven 構建腳本就可以構建簡單的項目。由於 Maven 的面向項目的方法,許多 Apache Jakarta 項目發文時使用 Maven,而且公司項目采用 Maven 的比例在持續增長。 四、Gradle 官網:https://gradle.org/ Gradle是一種構建工具
,它可以幫你管理項目中的差異,依賴,編譯,打包,部署......,你可以定義滿足自己需要的構建邏輯,寫入到build.gradle中供日後復用.

Gradle不是一種編程語言,它不能幫你實現軟件中的任何實際功能

背景 因公司項目較多,測試環境經常發布代碼更新,每次更新代碼都是手動執行命令將代碼上傳至服務器,繁瑣。所以需要使用jenkins持續集成工具,方法管理代碼、發布、測試,集中管理,需要搭建jenkins+jdk+git+maven+gradle,jenkins不需要依賴於數據庫。 安裝java環境 1.查看服務器版本 cents7,繼續。 cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core) 2.安裝java yum install java 但對於centos有個問題,不可以安裝成gcj(GNU Compiler for the Java Programing Language),導致jenkins不工作,如果查看java版本類似如下,需要卸載,安裝其他版本 java -version java version "1.5.0" gij (GNU libgcj) version 4.4.6 20110731 (Red Hat 4.4.6-3) 3.卸載異常版本: yum remove java
4.搜索openJDK版本
yum search openjdk

#java-1.7.0-openjdk-src.x86_64 : OpenJDK Source Bundle
#java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment
#java-1.8.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connector ...

5.安裝openJDK #安裝`1.8.0`的 yum install java-1.8.0-openjdk 6.查看java版本
java -version

openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b14)
OpenJDK 64-Bit Server VM (build 25.151-b14, mixed mode)

一、安裝jenkins 可以選擇安裝LTS Release版本,好像每半年叠代一次。或者Weekly Release,每一周或者兩周更新一次。 最近的版本2.24隔了兩個禮拜,估計10月9號會發布最新為2.25,每個版本會有一些enhancement & bug fix。 1.拉取庫的配置到本地對應文件 wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo jenkins.repo內容是這樣: [jenkins] name=Jenkins-stable baseurl=http://pkg.jenkins.io/redhat-stable gpgcheck=1 2.導入公鑰 rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key 3.安裝jenkins #`-y`參數:回答全部問題為是 yum -y install jenkins 基本安裝完成。 下載rpm包過程中報錯 Downloading Packages: http://pkg.jenkins.io/redhat/jenkins-2.16-1.1.noarch.rpm: [Errno 14] PYCURL ERROR 18 - "transfer closed with 66371436 bytes remaining to read" Trying other mirror. Error Downloading Packages:   jenkins-2.16-1.1.noarch: failure: jenkins-2.16-1.1.noarch.rpm from jenkins: [Errno 256] No more mirrors to try. 大概就是下載速度太慢關閉了,這裏的解決辦法是多次執行install直到下完或者還是到自已機器下載再上傳到rpm所在目錄,下載鏈接 http://pkg.jenkins-ci.org/redhat/ 順便貼一下LTS安裝指令,只是稍有不同: 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 4.更新jenkins yum update jenkins 熟悉jenkins配置 1.系統配置文件 cat /etc/sysconfig/jenkins | more 可以獲得幾個重要配置項目信息
  • JENKINS_HOME="/var/lib/jenkins" ###存放jenkins 配置及工作文件
  • JENKINS_PORT="8080" ###jenkins默認8080端口
  • /etc/sysconfig/jenkins ###jenkins配置文件
2.配置文件夾 這個位置挺重要 ls /var/lib/jenkins 有jobs、logs、plugins等文件夾及文件若幹。勿亂刪 這次主要看了看plugins文件夾,所有插件都在裏面,如插件ssh-slaves,會有一個ssh-slaves文件夾及ssh-slaves.jpi。 當某個插件未安裝成功時,會有一個以.tmp結尾的文件 3.日誌 logs相關兩個位置:
  • /var/lib/jenkins/logs有logs,暫時看來沒記錄啥,以後再追。
  • /var/log/jenkins/jenkins.log,記錄了插件安裝等日誌,失敗信息原因等很清晰,重要
啟動&配置 1.啟動服務 systemctl start jenkins 2.瀏覽器訪問 http://IP地址:8080 3.獲取管理員密碼 按提示,去/var/lib/jenkins/secrets/initalAdminPassword,復制貼進去,continue 4.選擇安裝方式 默認推薦吧,左邊的。第二個自定義插件,如果知道需要什麽插件,插件都是幹嘛的,再選custom吧 5.等待插件安裝 如果正常,沒啥說的。如果像這樣,一些插件失敗了,刷新頁面,下一步。失敗的插件後來再裝。 技術分享圖片 6.插件安裝失敗分析 這裏貼一個相似的ISSUE,unsolved,就我個人遇到的可能有網絡的原因 查看jenkins.log,搜索failed關鍵字,一些插件依賴credentials,因為網絡原因沒安裝成功credentials,導致好幾個沒安裝成功。 去jenkins管理界面手動安裝吧 Caused by: java.io.IOException: Plain Credentials Plugin v1.3 failed to load. - credentials v2.1.5 is missing. To fix, install v2.1.5 or later. 7.手動安裝異常插件 系統管理 -> 管理插件 -> 可選插件,表格右上異步過濾,插件打勾,直接安裝。安裝插件就在這裏安裝。 技術分享圖片 註意 異常插件處理的時候,這裏需要註意插件之間的依賴關系,A插件依賴的B插件沒安裝成功,安裝A之前先安裝B,管理插件裏的異常列表寫的很清楚。 卸載jenkins 在某次自動安裝插件時異常了一大片,刷新也沒出現下一步,等待許久無果,刪了重裝 rpm -e jenkins 2.會有一些殘留的文件分散在各地 find / -iname jenkins | xargs -n 1000 rm -rf 二、安裝Git 1.Git 的安裝 Ubuntu 下安裝 apt-get install git Centos/Redhat 安裝 yum install git Fedora23 安裝 dnf install git 或者 yum install git Fedora22/21 安裝 yum install git SUSE/OPENSUSE安裝 sudo zypper install git Mac OS X 安裝 在終端下執行 brew install git (註:請自行解決環境變量以及Brew工具的問題) 2、Git 使用前的配置 配置自己的用戶名和郵箱 在使用git前,我們需要告訴git自己是誰以及自己的郵箱是什麽,所以我們需要對git進行一些基本設置。打開終端(Windows打開安裝git時安裝的git bash)執行如下命令 git config --global user.name "你的名字或昵稱" git config --global user.email "你的郵箱" 3、生成SSH密鑰對 ssh-keygen ###生成密碼,一直回車 cat .ssh/id_rsa.pub ###查看公鑰,復制公鑰給開發的同事或者自己有GIT賬號,登錄GIT添加公鑰,具體怎麽添加請百度 4、測試,返回結果為”Welcome to Gitee.com“正常訪問 ssh -T [email protected] Welcome to Gitee.com 5、測試從git上下載代碼 git clone [email protected]:crdev/******* 6、jenkins配置git密鑰 技術分享圖片 技術分享圖片

技術分享圖片

技術分享圖片 cat .ssh/id_rsa ###查看私鑰,復制私鑰到jenkins裏 技術分享圖片 技術分享圖片

選擇git代碼下載地址,添加剛剛生成的密鑰,如果密鑰與git地址不匹配會報錯 技術分享圖片 技術分享圖片

三、Maven安裝

下載maven軟件安裝包

CentOS 7 搭建Jenkins+JDK+Git+Maven+Gradle持續集成系統