Jenkins和svn的持續互動(centos6.8環境下)
先更新Jenkins和svn的持續互動
其次是Jenkins和github持續互動
再次是Jenkins和docker持續互動
先切入正題
既然是是Jenkins的持續互動...需要Jenkins的包才對....下面就是所需要的環境,如果有的人已經有這些環境,可以免去配置
先去下載一個Jenkins
接下來就是配置JAVA 和 TOMCAT..環境...請自行百度配置
上面就是我的版本..請注意版本問題..版本不對....jenkins是執行不了的
這裡是我配置的地方
可以自行參看配置
和Windows下面差不多...
之後source /etc/profile重新整理檔案
...就可以使用配置了
這裡的SVN自定百度安裝.......啟動(Linux環境安裝)=====>後面應該會更新SVN的安裝
在linux環境下建立一個目錄====>名字自定義
下面是我存放專案的地方的地方
下面開始正題:
1.====>使用svnadmin進行初始化檔案
svnadmin create Redis
2,========>接下來啟動該目錄的服務...如果已經啟動,,,關閉在啟動
svnserve -d -r /home/newdisk2/SVN/reponseSVN/Redis
3.=======>進入Redis中的conf檔案..進行檔案配置
4.==========>配置passwd檔案呢
5.========配置authz檔案
配置使用者的許可權..讀和寫
6.===============>
配置svnserve.conf檔案
修改anon-access = read 修改為 none .禁止匿名登入 其他只要開啟即可..這裡把所有的都往前移動..保持上圖片一樣
7.====================>配置Tomcat賬號
配置檔案的位置:tomcat/conf/tomcat-users.xml
<role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user username="tomcat_user" password="123456" roles="manager-gui,manager-script,manager-jmx,manager-status" />
8.===============>jenkins.war包放在tomcat下面的webapps
9====================>修改tomcat下面呢的server.xml檔案修改字符集
10.============>開始訪問
如果在/etc/profile中配置了TOMCAT的路徑.並使用了soucre重新整理之後..就可以直接使用startup.sh進行執行
如果沒有就去tomcat的bin目錄下執行
寫這個部落格的時候遇到一點問題
因為是是在XShell執行級別是3執行的....不能處理圖形化介面..我當時
遇見
不能處理圖形化介面....
後來百度找了很多方式..自己驗證的只有一個方式通過
在startup.sh加入====>
加入export CATALINA_OPTS="-Djava.awt.headless=true",問題得到完美解決。
也就是說,init 3啟動級別下,這種方式可以解決java awt的問題。
就可以訪問了
密碼就在該路徑下
11.==============>如果不能訪問..請關閉防火牆.或者是在防火牆配置該埠可以訪問...
第1種方式
修改的路徑是vim /etc/sysconfig/iptables
然後service iptables restart
第2中方式===>關閉防火牆
service iptables stop
13===================>安裝外掛
選擇哪一種都行..後面可以自定義安裝....新手選擇第一種比較好
14====================>等待安裝即可
15==================>註冊賬號...可以不註冊..直接使用admin賬號
16======>漢化..因為我下載的英文版,所以需要漢化
下載那個都行
下載之後
系統管理---->外掛管理
高階下面有一個上傳外掛
上傳之後
最後儲存即可....
重新重新整理服務即可
17===========================>全域性安全配置
上面的根據自己來定..安全問題..
18==============>全域性工具配置
JDK配置
MAVEN配置
19=========================>外掛管理
下載這個外掛
Deploy to container Plugin
20======================>建立工程
====>1
21==========================>搭建Eclipse上的Subclipse
解壓之後放在Ecilpse中的dropins檔案下
22==================>建立一個Maven專案
建立完畢之後匯入pom.xml配置
新建war...會報錯...右擊===>JavaEE Tools====>第二個C....
如果還有錯誤..使用Maven Update強制更新
<dependencies>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
<scope>provided</scope>
</dependency>
</dependencies>
將專案上傳至Linux的SVN
選中專案右擊---->Team--->Share Project
最後填寫svn地址:
格式:svn://ip/路徑
我的是
svn://192.168.200.130/home/newdisk2/SVN/reponseSVN/redis
上傳之前先關閉防火牆..或者配置允許訪問該埠
最後上傳就行了
23=================>原始碼管理
24============================>構建
構建成功<===
24=========================>構建後的操作
25=========================>構建觸發器
觸發名是MONG_TOKEN
26===================>獲取
獲取crumb值
這就是的
使用訪問
格式:http://admin:自己的<crumb值>@<IP>:<PORT>/jenkins/cr umbIssuer/api/xml
http://admin:[email protected]:8080/jenkins/cr umbIssuer/api/xml
27==================>使用Linux搭建鉤子程式
在redis路徑下的hooks目錄下執行下列命令將
cp post-commit.tmpl post-commit
chmod 755 post-commit
./post-commit
會觸發鉤子程式
curl -X post -v -u [jenkins使用者名稱]:[jenkins密碼] -H "請求頭訊息頭資訊" http://[伺服器IP地址]:[伺服器埠號]/jenkins/job/[jenkins專案名]/build?token=[身份驗證令牌]
請求訊息頭就是上面crumd=====>Jenkins-Crumb:5cf14d17784c5974a91bd77bd0a66d88
則觸發Jenkins遠端構建時需要攜帶的請求訊息頭就是
Jenkins-Crumb:5cf14d17784c5974a91bd77bd0a66d88
經過測試..提交第一次...第二次的頁面結果不同..
解決方案:
如果發生 Jenkins 伺服器從 SVN 伺服器下載程式碼不是最新版的情況,那麼就在 SVN 伺服器的 URL 地址後面加上@HEAD 強制要求下載最新版。