[原]Linux環(huán)境-Jenkins實戰(zhàn)-分布式構(gòu)建-自動化持續(xù)集成-自動化部署-gitlab-svn-shell啟動tomcat

廢話不多說,開始實施... 一些基本知識需要自己實踐完,進(jìn)行自我補充和提高。在下一節(jié)會介紹原理。

文中所涉及到的linux命令,請按步驟執(zhí)行!創(chuàng)建的文件夾,權(quán)限設(shè)置為最大(可讀寫);

sudo chmod 777 folder-name;

一.Jenkins安裝

1.安裝環(huán)境 jdk+maven+git+tomcat

在這里我要提醒一下,這些安裝環(huán)境是基于依賴于git管理的項目部署必備的(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)境操作可以點擊: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ù)器時無需輸入口令,而且更安全。(訪問HTTP協(xié)議的Git服務(wù)器時,比如提交修改,每次都需要輸入口令)

注意:一定是在root權(quán)限下進(jìn)行得到的ssh公鑰:

sudo su;

ssh-keygen -t rsa -C "your email@163.com";

直接默認(rèn),按回車就可以了;系統(tǒng)會提示ssh-key的保存位置(一般是~/.ssh目錄)和指定口令。

cd ~/.ssh

ll

cat id_rsa.pub

復(fù)制里面的內(nèi)容;

5.登錄gitlab;

點擊 設(shè)置 選擇ssh key;

將公鑰復(fù)制到sshkey中;

6.測試是否成功:

在服務(wù)器上:

ssh -Tgit@github.com

4.安裝tomcat

1.將tomcat包上傳服務(wù)器,解壓。

這里需要注意的是:

第一,如果我們是利用tomcat啟動Jenkins,我們需要將 web項目與Jenkins服務(wù) 的tomcat分開進(jìn)行部署。這是因為 當(dāng)我們再重新啟動部署web項目時,不影響Jenkins的服務(wù)。

注意 修改各個tomcat中的端口號,避免沖突;

第二,如果我們使用 java -jar ?jenkins.war;則可以不分開部署Jenkins;

5.安裝Jenkins

1.我們下載 Jenkins.war包(版本:2.7.3),上傳到服務(wù)器。

2.將 Jenkins.war 移動到Jenkins 所使用的 tomcat中的webapps的目錄下。

sudo mv jenkins.war ?/apache-jenkins-tomcat/apache-tomcat7/webapps

3.啟動 tomcat:

sudo sh startup.sh

4.訪問:

在瀏覽器中 訪問 : 服務(wù)器ip:port/jenkins

例如:192.168.1.1:8080/jenkins

5.進(jìn)入之后,會提示你輸入 訪問Jenkins的初始化密碼,并且告訴你了 密碼存放位置,如果沒有找到,就在以下命令中進(jìn)行查找:

訪問開始:如圖

此密碼 在tomcat啟動日志里存在,或者 到 sudo cat /root/.jenkins/secrets/initialAdminPassword中 查看。

6.進(jìn)行代理服務(wù)器設(shè)置,因為需要連接外網(wǎng) 進(jìn)行接下來的插件下載與安裝。

輸入遠(yuǎn)程代理服務(wù)器ip 及 端口號即可,不用密碼;

7.點擊下一步,會出現(xiàn)兩個選擇,一個就是 進(jìn)行推薦的插件下載,一個就是自主選擇插件下載安裝。此時選擇第一個推薦的插件下載安裝。

8.等待插件安裝完成后,下一步就會 進(jìn)行 用戶登錄的設(shè)置,注冊 用戶名 及密碼。

9.然后下一步,就完成了。進(jìn)入到Jenkins頁面中。

二、Jenkins系統(tǒng)管理

1.接下來,我們需要進(jìn)行給Jenkins系統(tǒng)設(shè)置相關(guān)的參數(shù)及構(gòu)建項目時所需要的配置。我會 附上 圖,然后解釋 具體某個選項什么意思;

1.首先,我們要進(jìn)行插件管理,安裝好我們所需要的插件。

所需要的插件列表:

除了,初始化配置時候,推薦安裝的插件外,還需要 進(jìn)入到

系統(tǒng)管理-->管理插件-->可選插件 ?:查找 ?1.gitlab相關(guān)插件并安裝; 2.maven相關(guān)插件并安裝; 3.Deploy to container Plugin(此插件 用于 構(gòu)建后部署到 ?tomcat時候 使用);

4.publish-over-ssh (此插件用于 構(gòu)建部署成功后,在相應(yīng)的服務(wù)器上 進(jìn)行 shell腳本 自動化啟動)。

注意 點擊 直接安裝 publish-over-ssh插件,可能會失敗,報錯信息:

這是 因為 訪問限制,因此改為手動安裝即可:

解決辦法:

點擊 插件超鏈接 進(jìn)入到 下載界面,

下載 hpi 文件到本地,然后?在系統(tǒ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.如果有多個機(jī)器,可以選擇增加,配置多個機(jī)器。方法 一樣。

3.全局配置:

系統(tǒng)管理-->Global Tool Configuration :

4.安全配置:

系統(tǒng)管理-->Configure Global Security . 默認(rèn)配置就行。

5.用戶配置:

可進(jìn)行對 用戶 的 增刪改。

6.節(jié)點配置:用于分布式多平臺測試、構(gòu)建項目。

系統(tǒng)管理-->管理節(jié)點:

1.

2.

3.

點擊 launch 按鈕,此時 服務(wù)器 會下載 一個 slave.jar 文件,到 遠(yuǎn)程工作目錄。該文件 是用來 master-slave ?之間 進(jìn)行通信的。

在研究配置的過程中,處理時間最長的問題,就是gitlab配置問題。

在構(gòu)建項目的時候,總是提示以下異常:

出現(xiàn)異常的原因就是 用戶認(rèn)證證書權(quán)限不正確,所以我們要設(shè)置最高權(quán)限的Jenkins認(rèn)證證書。這樣才能保證不出錯誤。

以上就是一個自己總結(jié)出來的配置說明。

2.以上全部配置完成以后,我們開始構(gòu)建一個項目。

1.設(shè)置一個project_name;

2.選擇構(gòu)建 maven 項目;

3.點擊ok,進(jìn)行構(gòu)建項目配置:

以下是構(gòu)建過程中的各個選項說明:

1.除特別說明標(biāo)記的,畫圓圈的為重點配置介紹,其余可不配置或者默認(rèn)即可。

2.

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

4.我們在構(gòu)建之前需要執(zhí)行shell腳本,將原來web項目的war和文件夾刪除。

以下為shell腳本內(nèi)容以及如何使用:

5.構(gòu)建后:因為我們需要把git下來的war包部署到各個不同服務(wù)器的tomcat中,所有我們用到這個插件 Deploy ....

我們需要在各個服務(wù)器中 進(jìn)行tomcat的修改,修改內(nèi)容為:

我們將 修改 tomcat底下的 用戶角色 配置,‘

sudo vi ?/tomcat/conf/tomcat-user.xml

修改為:

然后,重新啟動tomcat;

以上配置完成后,我們需要輸入,tomcat 用戶名 密碼,及host

如圖:

4.構(gòu)建成功后:

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

是在這個路徑下。

我們知道了這個路徑,接下來會有用,和我們可以了解怎么改變此路徑??梢圆殚喯嚓P(guān)資料。搜索 ?‘修改Jenkins 工作空間 路徑’。

到此為止,我們構(gòu)建完成,并且部署完成,以上這些步驟,可以完成這些操作:

1.當(dāng)構(gòu)建觸發(fā)器中設(shè)定的規(guī)則 被觸發(fā),我們將進(jìn)行構(gòu)建。

2.構(gòu)建開始時,先將tomcat中的war文件及web項目文件夾刪除。

3.然后將 git clone 項目 到Jenkins的workspace中,把打好的war包 Deploying到 相應(yīng)的tomcat 服務(wù)器的webapps目錄下。

如果不需要 自動化執(zhí)行 重啟tomcat命令的話,到此,我們就可以結(jié)束了,接下來我們就可以手動重啟tomcat服務(wù)器。然后跳過第5步驟,看第6步驟。

如果你想實現(xiàn),部署完成后,需要自動化執(zhí)行啟動,那么我們需要如下操作:看第5步驟:

5.點擊 增加構(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項目的tomcat進(jìn)程是否存在,不存在,直接重啟。存在,kill掉,然后在重啟。

6.保存項目。

1.點擊立即構(gòu)建,查看日志,會進(jìn)行g(shù)it clone,然后下載pom文件中所需要的 jar包。

這時候 我們要注意 maven所需要的 setting.xml配置文件,要和你本地eclipse中使用 的setting文件一致,因為一般公司都會有 自己 maven倉庫。這樣才能依賴到各個jar包。

2.如果在構(gòu)建過程中,報了 執(zhí)行 shell腳本異常,錯誤原因是:

那么,我們需要 修改 tomcat的 catalina.sh文件。

sudo vi /tomcat/bin/catalina.sh

將 JAVA_HOME=/jdk_path

加入到這個文件中,然后保存,重啟tomcat。

3.到此,我們就成功完成Jenkins全部部署了。

4.異常信息:

如果出現(xiàn)這個錯誤,就是 tomcat-user.xml配置文件的角色問題,查看前面配置說明。

當(dāng)然還有許多Jenkins的功能沒有進(jìn)行說明,先不做一一介紹。如果有問題,可以直接留言。

這些是真實實踐出來的結(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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容