廢話很少說,開始實施... 一些基本知識須要本身實踐完,進行自我補充和提升。在下一節會介紹原理。html
文中所涉及到的linux命令,請按步驟執行!建立的文件夾,權限設置爲最大(可讀寫);sudo chmod 777 folder-name;java
一.Jenkins安裝linux
1.安裝環境 jdk+maven+git+tomcatgit
在這裏我要提醒一下,這些安裝環境是基於依賴於git管理的項目部署必備的(SVN管理也能夠),適用於本人所處開發環境及大多數開發環境。github
1.jdk安裝 v1.8web
jdk版本1.7或者1.8均可以,linux 上jdk安裝步驟:shell
1.新建文件夾 apache
sudo su;//提高root權限 mkdir /usr/lib/jvm;
2.下載 jdk-8u101-linux-x64.tar.gz 官網中下載,而後上傳到linux服務器。上傳命令:sudo rz -y; api
上傳完成後,解壓縮文件:瀏覽器
sudo tar -zxvf jdk-8u101-linux-x64.tar.gz -C /usr/lib/jvm;
3.設置環境變量
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.設置系統默認的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包上傳到服務器:
2.建立文件夾:
sudo mkdir /usr/lib/maven;
3.解壓文件:
sudo tar -zxvf maven-3.9.tar.gz -C /usr/lib/maven;
4.設置環境變量:/etc/profile 爲系統變量;~/.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包解壓安裝,具體詳細git各類環境操做能夠點擊:https://git-scm.com/downloads
這種安裝方式能夠參考:http://jingyan.baidu.com/article/e9fb46e16698687521f766ec.html
在centOS5中的yum源中沒有git.就須要用以前的方式,在centOS6以上中的yum源有git:
sudo yum update; sudo yum -y install git;
2.查看是否成功
git --version;
3.設置git
git config --global user.name "your login name"; git config --global user.email "your email@163.com";
設置完,能夠經過 cat ~/.gitconfig 查看;
4.設置ssh-key;
以公鑰認證方式訪問SSH協議的Git服務器時無需輸入口令,並且更安全。(訪問HTTP協議的Git服務器時,好比提交修改,每次都須要輸入口令)
注意:必定是在root權限下進行獲得的ssh公鑰:
sudo su; ssh-keygen -t rsa -C "your email@163.com";
直接默認,按回車就能夠了;系統會提示ssh-key的保存位置(通常是~/.ssh目錄)和指定口令。
cd ~/.ssh ll cat id_rsa.pub
複製裏面的內容;
5.登陸gitlab;
點擊 設置 選擇ssh key;
將公鑰複製到sshkey中;
6.測試是否成功:
在服務器上:
ssh -T git@github.com
4.安裝tomcat
1.將tomcat包上傳服務器,解壓。
這裏須要注意的是:
第一,若是咱們是利用tomcat啓動Jenkins,咱們須要將 web項目與Jenkins服務 的tomcat分開進行部署。這是由於 當咱們再從新啓動部署web項目時,不影響Jenkins的服務。
注意 修改各個tomcat中的端口號,避免衝突;
第二,若是咱們使用 java -jar jenkins.war;則能夠不分開部署Jenkins;
5.安裝Jenkins
1.咱們下載 Jenkins.war包(版本:2.7.3),上傳到服務器。
2.將 Jenkins.war 移動到Jenkins 所使用的 tomcat中的webapps的目錄下。
sudo mv jenkins.war /apache-jenkins-tomcat/apache-tomcat7/webapps
3.啓動 tomcat:
sudo sh startup.sh
4.訪問:
在瀏覽器中 訪問 : 服務器ip:port/jenkins
例如:192.168.1.1:8080/jenkins
5.進入以後,會提示你輸入 訪問Jenkins的初始化密碼,而且告訴你了 密碼存放位置,若是沒有找到,就在如下命令中進行查找:
訪問開始:如圖
此密碼 在tomcat啓動日誌裏存在,或者 到 sudo cat /root/.jenkins/secrets/initialAdminPassword中 查看。
6.進行代理服務器設置,由於須要鏈接外網 進行接下來的插件下載與安裝。
輸入遠程代理服務器ip 及 端口號便可,不用密碼;
7.點擊下一步,會出現兩個選擇,一個就是 進行推薦的插件下載,一個就是自主選擇插件下載安裝。此時選擇第一個推薦的插件下載安裝。
8.等待插件安裝完成後,下一步就會 進行 用戶登陸的設置,註冊 用戶名 及密碼。
9.而後下一步,就完成了。進入到Jenkins頁面中。
2、Jenkins系統管理
1.接下來,咱們須要進行給Jenkins系統設置相關的參數及構建項目時所須要的配置。我會 附上 圖,而後解釋 具體某個選項什麼意思;
1.首先,咱們要進行插件管理,安裝好咱們所須要的插件。
所須要的插件列表:
除了,初始化配置時候,推薦安裝的插件外,還須要 進入到
系統管理-->管理插件-->可選插件 :查找 1.gitlab相關插件並安裝; 2.maven相關插件並安裝; 3.Deploy to container Plugin(此插件 用於 構建後部署到 tomcat時候 使用);4.publish-over-ssh (此插件用於 構建部署成功後,在相應的服務器上 進行 shell腳本 自動化啓動)。
注意 點擊 直接安裝 publish-over-ssh插件,可能會失敗,報錯信息:
這是 由於 訪問限制,所以改成手動安裝便可:
解決辦法:
點擊 插件超連接 進入到 下載界面,
下載 hpi 文件到本地,而後 在系統管理--管理插件--高級--瀏覽-上傳插件便可,如圖:
而後它自動上傳並安裝。
完成後,重啓jenkins。
2.系統管理-->系統設置:
1.下圖中主目錄 是 默認的,也能夠進行配置更改,我不介紹了。
2.
全局屬性中的參數是解決 構建中 出現 的 ‘ssl認證失敗’ 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/...
解決方法---參數:GIT_SSL_NO_VERIFY = true
3.
gitlab api token的密碼所在位置
4.
5.若是有多個機器,能夠選擇增長,配置多個機器。方法 同樣。
3.全局配置:
系統管理-->Global Tool Configuration :
4.安全配置:
系統管理-->Configure Global Security . 默認配置就行。
5.用戶配置:
可進行對 用戶 的 增刪改。
6.節點配置:用於分佈式多平臺測試、構建項目。
系統管理-->管理節點:
1.
2.
3.
點擊 launch 按鈕,此時 服務器 會下載 一個 slave.jar 文件,到 遠程工做目錄。該文件 是用來 master-slave 之間 進行通訊的。
在研究配置的過程當中,處理時間最長的問題,就是gitlab配置問題。
在構建項目的時候,老是提示如下異常:
出現異常的緣由就是 用戶認證證書權限不正確,因此咱們要設置最高權限的Jenkins認證證書。這樣才能保證不出錯誤。
以上就是一個本身總結出來的配置說明。
2.以上所有配置完成之後,咱們開始構建一個項目。
1.設置一個project_name;
2.選擇構建 maven 項目;
3.點擊ok,進行構建項目配置:
如下是構建過程當中的各個選項說明:
1.除特別說明標記的,畫圓圈的爲重點配置介紹,其他可不配置或者默認便可。
2.
3.構建觸發器:
4.咱們在構建以前須要執行shell腳本,將原來web項目的war和文件夾刪除。
如下爲shell腳本內容以及如何使用:
5.構建後:由於咱們須要把git下來的war包部署到各個不一樣服務器的tomcat中,全部咱們用到這個插件 Deploy ....
咱們須要在各個服務器中 進行tomcat的修改,修改內容爲:
咱們將 修改 tomcat底下的 用戶角色 配置,‘
sudo vi /tomcat/conf/tomcat-user.xml
修改成:
<tomcat-users> <role rolename="manager"/> <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="admin" /> <user username="tomcat" password="123456" roles="admin,manager,manager-gui,manager-script,manager-jmx" /> </tomcat-users>
而後,從新啓動tomcat;
以上配置完成後,咱們須要輸入,tomcat 用戶名 密碼,及host
如圖:
4.構建成功後:
Jenkins在構建成功後,會把項目生成在Jenkins的workspace中,注意 生成位置是 系統配置中 的 主目錄路徑下,如圖:
是在這個路徑下。
咱們知道了這個路徑,接下來會有用,和咱們能夠了解怎麼改變此路徑。能夠查閱相關資料。搜索 ‘修改Jenkins 工做空間 路徑’。
到此爲止,咱們構建完成,而且部署完成,以上這些步驟,能夠完成這些操做:
1.當構建觸發器中設定的規則 被觸發,咱們將進行構建。
2.構建開始時,先將tomcat中的war文件及web項目文件夾刪除。
3.而後將 git clone 項目 到Jenkins的workspace中,把打好的war包 Deploying到 相應的tomcat 服務器的webapps目錄下。
若是不須要 自動化執行 重啓tomcat命令的話,到此,咱們就能夠結束了,接下來咱們就能夠手動重啓tomcat服務器。而後跳過第5步驟,看第6步驟。
若是你想實現,部署完成後,須要自動化執行啓動,那麼咱們須要以下操做:看第5步驟:
5.點擊 增長構建後的步驟按鈕,選擇 send build artifacts over ssh:
以下圖:咱們進行配置:
執行shell腳本的內容爲:
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
執行的思路就是:查看web項目的tomcat進程是否存在,不存在,直接重啓。存在,kill掉,而後在重啓。
6.保存項目。
1.點擊當即構建,查看日誌,會進行git clone,而後下載pom文件中所須要的 jar包。
這時候 咱們要注意 maven所須要的 setting.xml配置文件,要和你本地eclipse中使用 的setting文件一致,由於通常公司都會有 本身 maven倉庫。這樣才能依賴到各個jar包。
2.若是在構建過程當中,報了 執行 shell腳本異常,錯誤緣由是:
那麼,咱們須要 修改 tomcat的 catalina.sh文件。
sudo vi /tomcat/bin/catalina.sh 將 JAVA_HOME=/jdk_path
加入到這個文件中,而後保存,重啓tomcat。
3.到此,咱們就成功完成Jenkins所有部署了。
4.異常信息:
若是出現這個錯誤,就是 tomcat-user.xml配置文件的角色問題,查看前面配置說明。
固然還有許多Jenkins的功能沒有進行說明,先不作一一介紹。若是有問題,能夠直接留言。
這些是真實實踐出來的結果,但願你們支持,共同反饋,共同進步。轉載請說明出處。
附加資料:
文件權限配置說明:
http://blog.chinaunix.net/uid-25052030-id-174343.html
linux添加用戶,修改用戶權限說明:
http://www.cnblogs.com/daizhuacai/archive/2013/01/17/2865132.html
做者:powerman91 時間:2016.9.1