5ol.cc 发表于 2018-1-7 20:35:48

基于docker构建jenkins和svn服务(转)

  码农们很定都知道svn的重要性,机器坏掉丢代码的惨痛教训想必很多人都有。
  jenkins可能很多人都不了解。这是一个持续集成的工具,在敏捷开发领域很流行;跟svn结合可以实现定期build、checkin之后build等功能。介绍可以看这里https://www.ibm.com/developerworks/cn/java/j-lo-jenkins/
  基于docker单独部署jenkins和svn都是很简单的事情,找到image,配置端口、配置volume,完事。
  这篇文章主要介绍如何把两个服务连起来。
  link是docker提供的重要工具,它提供类似名字服务的功能,link起来的容器可以通过名字标识访问。
  下面这篇文章详细介绍了link的使用方法和原理。http://dockerpool.com/static/books/docker_practice/network/linking.html

编排文件
  用编排文件来描述互相依赖的服务是推荐的方式。这两个服务的编排文件如下。
  

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
  

  

部署步骤
  下面以阿里云容器服务为例,介绍一下部署过程
  1. 创建编排文件,输入上面的文件内容
https://oss.aliyuncs.com/yqfiles/3bb2aa53f6a380bbb4f234d0b18da3858bf9ea6e.png
https://oss.aliyuncs.com/yqfiles/93ddbc1c941b4f3babc23f3e357465e92abaa756.png


[*]
[*]  用该编排文件启动服务
https://oss.aliyuncs.com/yqfiles/3b86ee490f6b8d5f9c0a3117de29ac608ac89761.png

[*]  找到服务的节点IP,用http://节点IP:8080/访问jenkins服务
https://oss.aliyuncs.com/yqfiles/a65ca54fc5089dc6b8686369055cd0c70968f444.png

[*]  在jenkins上创建一个新项目,用link名访问svn
https://oss.aliyuncs.com/yqfiles/7f870ffe1d389aeb258d0f2ef6cced36ad99dbf5.png


  
http://yq.aliyun.com/articles/1830?spm=5176.100239.yqblog1.107.lyqEQr
页: [1]
查看完整版本: 基于docker构建jenkins和svn服务(转)