1. 程式人生 > >Jenkins和svn的持續互動(centos6.8環境下)

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 強制要求下載最新版。