基于Docker構(gòu)建Jenkins和Svn服務(wù)
碼農(nóng)們很定都知道svn的重要性,機器壞掉丟代碼的慘痛教訓想必很多人都有。
jenkins可能很多人都不了解。這是一個持續(xù)集成的工具,在敏捷開發(fā)領(lǐng)域很流行;跟svn結(jié)合可以實現(xiàn)定期build、checkin之后build等功能。介紹可以看這里https://www.ibm.com/developerworks/cn/java/j-lo-jenkins/
基于docker單獨部署jenkins和svn都是很簡單的事情,找到image,配置端口、配置volume,完事。
這篇文章主要介紹如何把兩個服務(wù)連起來。
link是docker提供的重要工具,它提供類似名字服務(wù)的功能,link起來的容器可以通過名字標識訪問。
下面這篇文章詳細介紹了link的使用方法和原理。http://dockerpool.com/static/books/docker_practice/network/linking.html
編排文件
用編排文件來描述互相依賴的服務(wù)是推薦的方式。這兩個服務(wù)的編排文件如下。
- jenkins:
 - image: 'jenkins:latest'
 - labels:
 - aliyun.scale: '1'
 
#端口映射。8080使用戶訪問的端口,50000是與svn交互的端口。不過這個例子中我們沒有使用。
#另外,實際部署是需要添加volume
- ports:
 - - '50000:50000/tcp'
 - - '8080:8080/tcp'
 - restart: always
 
#使用link之后,可以用svn這個名字訪問svn
- links:
 - - svn:svn
 - svn:
 - environment:
 - - SVN_REPONAME=repos
 - image: 'erikxiv/subversion:latest'
 - labels:
 - aliyun.scale: '1'
 - ports:
 - - '3690:3690/tcp'
 - restart: always
 
部署步驟
下面以阿里云容器服務(wù)為例,介紹一下部署過程
1、創(chuàng)建編排文件,輸入上面的文件內(nèi)容


2、用該編排文件啟動服務(wù)

3、找到服務(wù)的節(jié)點IP,用http://節(jié)點IP:8080/訪問jenkins服務(wù)

4、在jenkins上創(chuàng)建一個新項目,用link名訪問svn

















 
 
 








 
 
 
 