廢話不多說,開始實(shí)施... 一些基本知識(shí)需要自己實(shí)踐完,進(jìn)行自我補(bǔ)充和提高。在下一節(jié)會(huì)介紹原理。
文中所涉及到的linux命令,請按步驟執(zhí)行!創(chuàng)建的文件夾,權(quán)限設(shè)置為最大(可讀寫);
sudo chmod 777 folder-name;
一.Jenkins安裝
1.安裝環(huán)境 jdk+maven+git+tomcat
在這里我要提醒一下,這些安裝環(huán)境是基于依賴于git管理的項(xiàng)目部署必備的(SVN管理也可以),適用于本人所處開發(fā)環(huán)境及大多數(shù)開發(fā)環(huán)境。
1.jdk安裝 v1.8
jdk版本1.7或者1.8都可以,linux 上jdk安裝步驟:
1.新建文件夾
sudo su;//提升root權(quán)限
mkdir /usr/lib/jvm;
2.下載?jdk-8u101-linux-x64.tar.gz 官網(wǎng)中下載,然后上傳到linux服務(wù)器。上傳命令:sudo rz -y;
上傳完成后,解壓縮文件:
sudo tar -zxvf?jdk-8u101-linux-x64.tar.gz ? ?-C ? /usr/lib/jvm;
3.設(shè)置環(huán)境變量
sudo ?vi ?/etc/profile;
打開文件后,在文件的末尾加上以下這些:
#java environment
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_101
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
4.設(shè)置系統(tǒng)默認(rèn)的jdk
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_101/bin/java 300;
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_101/bin/javac 300;
5.檢查是否安裝成功:
java ?-version;
2.安裝maven
1.下載 maven包上傳到服務(wù)器:
2.創(chuàng)建文件夾:
sudo mkdir /usr/lib/maven;
3.解壓文件:
sudo tar -zxvf maven-3.9.tar.gz -C /usr/lib/maven;
4.設(shè)置環(huán)境變量:
/etc/profile 為系統(tǒng)變量;~/.bashrc 為用戶變量
sudo vi /etc/profile;
在末尾加入:
#maven environment
export ? ?MAVEN_HOME=/usr/lib/maven/apache-maven-3.9
export ? ?PATH=$MAVEN_HOME/bin:$PATH
5.使文件生效:
sudo source /etc/profile
6.查看是否安裝成功
mvn -v
3.安裝git
1.下載git
可以直接下載git包解壓安裝,具體詳細(xì)git各種環(huán)境操作可以點(diǎn)擊:https://git-scm.com/downloads
這種安裝方式可以參考:http://jingyan.baidu.com/article/e9fb46e16698687521f766ec.html
在centOS5中的yum源中沒有g(shù)it.就需要用之前的方式,在centOS6以上中的yum源有g(shù)it:
sudo yum update;
sudo yum -y install git;
2.查看是否成功
git --version;
3.設(shè)置git
git config --global user.name "your login name";
git config --global user.email "your email@163.com";
設(shè)置完,可以通過 cat ~/.gitconfig ? 查看;
4.設(shè)置ssh-key;
以公鑰認(rèn)證方式訪問SSH協(xié)議的Git服務(wù)器時(shí)無需輸入口令,而且更安全。(訪問HTTP協(xié)議的Git服務(wù)器時(shí),比如提交修改,每次都需要輸入口令)
注意:一定是在root權(quán)限下進(jìn)行得到的ssh公鑰:
sudo su;
ssh-keygen -t rsa -C "your email@163.com";
直接默認(rèn),按回車就可以了;系統(tǒng)會(huì)提示ssh-key的保存位置(一般是~/.ssh目錄)和指定口令。
cd ~/.ssh
ll
cat id_rsa.pub
復(fù)制里面的內(nèi)容;
5.登錄gitlab;
點(diǎn)擊 設(shè)置 選擇ssh key;
將公鑰復(fù)制到sshkey中;
6.測試是否成功:
在服務(wù)器上:
ssh -Tgit@github.com
4.安裝tomcat
1.將tomcat包上傳服務(wù)器,解壓。
這里需要注意的是:
第一,如果我們是利用tomcat啟動(dòng)Jenkins,我們需要將 web項(xiàng)目與Jenkins服務(wù) 的tomcat分開進(jìn)行部署。這是因?yàn)?當(dāng)我們再重新啟動(dòng)部署web項(xiàng)目時(shí),不影響Jenkins的服務(wù)。
注意 修改各個(gè)tomcat中的端口號(hào),避免沖突;
第二,如果我們使用 java -jar ?jenkins.war;則可以不分開部署Jenkins;
5.安裝Jenkins
1.我們下載 Jenkins.war包(版本:2.7.3),上傳到服務(wù)器。
2.將 Jenkins.war 移動(dòng)到Jenkins 所使用的 tomcat中的webapps的目錄下。
sudo mv jenkins.war ?/apache-jenkins-tomcat/apache-tomcat7/webapps
3.啟動(dòng) tomcat:
sudo sh startup.sh
4.訪問:
在瀏覽器中 訪問 : 服務(wù)器ip:port/jenkins
例如:192.168.1.1:8080/jenkins
5.進(jìn)入之后,會(huì)提示你輸入 訪問Jenkins的初始化密碼,并且告訴你了 密碼存放位置,如果沒有找到,就在以下命令中進(jìn)行查找:
訪問開始:如圖
此密碼 在tomcat啟動(dòng)日志里存在,或者 到 sudo cat /root/.jenkins/secrets/initialAdminPassword中 查看。
6.進(jìn)行代理服務(wù)器設(shè)置,因?yàn)樾枰B接外網(wǎng) 進(jìn)行接下來的插件下載與安裝。
輸入遠(yuǎn)程代理服務(wù)器ip 及 端口號(hào)即可,不用密碼;
7.點(diǎn)擊下一步,會(huì)出現(xiàn)兩個(gè)選擇,一個(gè)就是 進(jìn)行推薦的插件下載,一個(gè)就是自主選擇插件下載安裝。此時(shí)選擇第一個(gè)推薦的插件下載安裝。
8.等待插件安裝完成后,下一步就會(huì) 進(jìn)行 用戶登錄的設(shè)置,注冊 用戶名 及密碼。
9.然后下一步,就完成了。進(jìn)入到Jenkins頁面中。
二、Jenkins系統(tǒng)管理
1.接下來,我們需要進(jìn)行給Jenkins系統(tǒng)設(shè)置相關(guān)的參數(shù)及構(gòu)建項(xiàng)目時(shí)所需要的配置。我會(huì) 附上 圖,然后解釋 具體某個(gè)選項(xiàng)什么意思;
1.首先,我們要進(jìn)行插件管理,安裝好我們所需要的插件。
所需要的插件列表:
除了,初始化配置時(shí)候,推薦安裝的插件外,還需要 進(jìn)入到
系統(tǒng)管理-->管理插件-->可選插件 ?:查找 ?1.gitlab相關(guān)插件并安裝; 2.maven相關(guān)插件并安裝; 3.Deploy to container Plugin(此插件 用于 構(gòu)建后部署到 ?tomcat時(shí)候 使用);
4.publish-over-ssh (此插件用于 構(gòu)建部署成功后,在相應(yīng)的服務(wù)器上 進(jìn)行 shell腳本 自動(dòng)化啟動(dòng))。
注意 點(diǎn)擊 直接安裝 publish-over-ssh插件,可能會(huì)失敗,報(bào)錯(cuò)信息:
這是 因?yàn)?訪問限制,因此改為手動(dòng)安裝即可:
解決辦法:
點(diǎn)擊 插件超鏈接 進(jìn)入到 下載界面,
下載 hpi 文件到本地,然后?在系統(tǒng)管理--管理插件--高級--瀏覽-上傳插件即可,如圖:
然后它自動(dòng)上傳并安裝。
完成后,重啟jenkins。
2.系統(tǒng)管理-->系統(tǒng)設(shè)置:
1.下圖中主目錄 是 默認(rèn)的,也可以進(jìn)行配置更改,我不介紹了。
2.
全局屬性中的參數(shù)是解決 構(gòu)建中 出現(xiàn) 的 ‘ssl認(rèn)證失敗’ bug。
Exception Log:
SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:
SSL3_GET_SERVER_CERTIFICATE:certificate verify failed while?accessing https://github.com/...
解決方法---參數(shù):GIT_SSL_NO_VERIFY ? = true
3.
gitlab api token的密碼所在位置
4.
5.如果有多個(gè)機(jī)器,可以選擇增加,配置多個(gè)機(jī)器。方法 一樣。
3.全局配置:
系統(tǒng)管理-->Global Tool Configuration :
4.安全配置:
系統(tǒng)管理-->Configure Global Security . 默認(rèn)配置就行。
5.用戶配置:
可進(jìn)行對 用戶 的 增刪改。
6.節(jié)點(diǎn)配置:用于分布式多平臺(tái)測試、構(gòu)建項(xiàng)目。
系統(tǒng)管理-->管理節(jié)點(diǎn):
1.
2.
3.
點(diǎn)擊 launch 按鈕,此時(shí) 服務(wù)器 會(huì)下載 一個(gè) slave.jar 文件,到 遠(yuǎn)程工作目錄。該文件 是用來 master-slave ?之間 進(jìn)行通信的。
在研究配置的過程中,處理時(shí)間最長的問題,就是gitlab配置問題。
在構(gòu)建項(xiàng)目的時(shí)候,總是提示以下異常:
出現(xiàn)異常的原因就是 用戶認(rèn)證證書權(quán)限不正確,所以我們要設(shè)置最高權(quán)限的Jenkins認(rèn)證證書。這樣才能保證不出錯(cuò)誤。
以上就是一個(gè)自己總結(jié)出來的配置說明。
2.以上全部配置完成以后,我們開始構(gòu)建一個(gè)項(xiàng)目。
1.設(shè)置一個(gè)project_name;
2.選擇構(gòu)建 maven 項(xiàng)目;
3.點(diǎn)擊ok,進(jìn)行構(gòu)建項(xiàng)目配置:
以下是構(gòu)建過程中的各個(gè)選項(xiàng)說明:
1.除特別說明標(biāo)記的,畫圓圈的為重點(diǎn)配置介紹,其余可不配置或者默認(rèn)即可。

2.

3.構(gòu)建觸發(fā)器:

4.我們在構(gòu)建之前需要執(zhí)行shell腳本,將原來web項(xiàng)目的war和文件夾刪除。
以下為shell腳本內(nèi)容以及如何使用:

5.構(gòu)建后:因?yàn)槲覀冃枰裧it下來的war包部署到各個(gè)不同服務(wù)器的tomcat中,所有我們用到這個(gè)插件 Deploy ....
我們需要在各個(gè)服務(wù)器中 進(jìn)行tomcat的修改,修改內(nèi)容為:
我們將 修改 tomcat底下的 用戶角色 配置,‘
sudo vi ?/tomcat/conf/tomcat-user.xml
修改為:
然后,重新啟動(dòng)tomcat;
以上配置完成后,我們需要輸入,tomcat 用戶名 密碼,及host
如圖:

4.構(gòu)建成功后:
Jenkins在構(gòu)建成功后,會(huì)把項(xiàng)目生成在Jenkins的workspace中,注意 生成位置是 系統(tǒng)配置中 的 主目錄路徑下,如圖:

是在這個(gè)路徑下。
我們知道了這個(gè)路徑,接下來會(huì)有用,和我們可以了解怎么改變此路徑。可以查閱相關(guān)資料。搜索 ?‘修改Jenkins 工作空間 路徑’。
到此為止,我們構(gòu)建完成,并且部署完成,以上這些步驟,可以完成這些操作:
1.當(dāng)構(gòu)建觸發(fā)器中設(shè)定的規(guī)則 被觸發(fā),我們將進(jìn)行構(gòu)建。
2.構(gòu)建開始時(shí),先將tomcat中的war文件及web項(xiàng)目文件夾刪除。
3.然后將 git clone 項(xiàng)目 到Jenkins的workspace中,把打好的war包 Deploying到 相應(yīng)的tomcat 服務(wù)器的webapps目錄下。
如果不需要 自動(dòng)化執(zhí)行 重啟tomcat命令的話,到此,我們就可以結(jié)束了,接下來我們就可以手動(dòng)重啟tomcat服務(wù)器。然后跳過第5步驟,看第6步驟。
如果你想實(shí)現(xiàn),部署完成后,需要自動(dòng)化執(zhí)行啟動(dòng),那么我們需要如下操作:看第5步驟:
5.點(diǎn)擊 增加構(gòu)建后的步驟按鈕,選擇 ?send build artifacts over ssh:
如下圖:我們進(jìn)行配置:

執(zhí)行shell腳本的內(nèi)容為:
javapid=`ps aux|grep java|grep -v grep|grep apache-datax-7.0.70|awk '{print $2}'`
echo $javapid
if [ ! -n "$javapid" ];then
echo "no java process "
sudo /bin/sh /app/apache-datax-7.0.70/bin/startup.sh
echo "Tomcat start success"
else
echo "has a java process"
sudo kill -9 $javapid
sleep 5
sudo /bin/sh /app/apache-datax-7.0.70/bin/startup.sh
echo "Tomcat restart success"
fi
執(zhí)行的思路就是:查看web項(xiàng)目的tomcat進(jìn)程是否存在,不存在,直接重啟。存在,kill掉,然后在重啟。
6.保存項(xiàng)目。
1.點(diǎn)擊立即構(gòu)建,查看日志,會(huì)進(jìn)行g(shù)it clone,然后下載pom文件中所需要的 jar包。
這時(shí)候 我們要注意 maven所需要的 setting.xml配置文件,要和你本地eclipse中使用 的setting文件一致,因?yàn)橐话愎径紩?huì)有 自己 maven倉庫。這樣才能依賴到各個(gè)jar包。
2.如果在構(gòu)建過程中,報(bào)了 執(zhí)行 shell腳本異常,錯(cuò)誤原因是:

那么,我們需要 修改 tomcat的 catalina.sh文件。
sudo vi /tomcat/bin/catalina.sh
將 JAVA_HOME=/jdk_path
加入到這個(gè)文件中,然后保存,重啟tomcat。
3.到此,我們就成功完成Jenkins全部部署了。
4.異常信息:

如果出現(xiàn)這個(gè)錯(cuò)誤,就是 tomcat-user.xml配置文件的角色問題,查看前面配置說明。
當(dāng)然還有許多Jenkins的功能沒有進(jìn)行說明,先不做一一介紹。如果有問題,可以直接留言。
這些是真實(shí)實(shí)踐出來的結(jié)果,希望大家支持,共同反饋,共同進(jìn)步。轉(zhuǎn)載請說明出處。
附加資料:
文件權(quán)限配置說明:
http://blog.chinaunix.net/uid-25052030-id-174343.html
linux添加用戶,修改用戶權(quán)限說明:
http://www.cnblogs.com/daizhuacai/archive/2013/01/17/2865132.html