前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >docker-reviewboard(让reviewboard安装、迁移更简单)

docker-reviewboard(让reviewboard安装、迁移更简单)

作者头像
donghui
发布2019-04-19 14:56:11
2.3K0
发布2019-04-19 14:56:11
举报
文章被收录于专栏:donghui的博客donghui的博客

ReviewBoard是个开源的、可扩展的、友好的基于Web的代码评审工具,是用Python框架Django开发的。

还记得之前安装ReviewBoard时折腾了好久

ReviewBoard官方文档很完善,官网上有详细的 安装指南(每个环境:linux、windows、MacOSX)

当时的安装环境是linux,所需要的大多软件理论上可以通过yum/apt-get或者easy-install安装

但是最初安装的时候,是在公司内网,无法连接到外网,同时yum源不完善、也无法使用easy-install来安装与python相关的包

这样,许多软件都需要手动安装,安装过程繁琐、复杂,安装时的依赖解决、错误定位和解决花费了大量的时间

尤其是安装ReviewBoard需要解决的依赖甚多,安装pysvn时需要一一解决的错误甚多

这样,首次安装就花费了大约一周的时间

而这样的安装,无法迁移,要在其他环境安装还得重新安装

后来虽多次演练,不断积累了安装经验,但整个ReviewBoard环境一步步安装下来至少也需要一天

这两年Docker风生水起,而它使得ReviewBoard安装、迁移等变得更简单。

ReviewBoard官网上docker-reviewboard页面: https://www.reviewboard.org/store/products/docker-reviewboard/

GitHub上docker-reviewboard的源码:

https://github.com/ikatson/docker-reviewboard/

DockerHub上reviewboard的镜像:

https://registry.hub.docker.com/u/ikatson/reviewboard/

查看GitHub或DockerHub的相关页面,有详细的使用说明。

docker-reviewboard:

Dockerized化的ReviewBoard。

这个容器遵循Docker最佳实践,并且除了reviewboard运行在uwsgi的服务,不包括sshd、supervisor、apache2或其他服务。

它需要PostgreSQL和memcached,你可以使用Docker化的版本,也可以使用外部版本(例如安装在主机上或第三方机器上)。

使用所有docker化的依赖快速启动、运行docker化的reviewboard,在docker容器中持久化数据。

代码语言:javascript
复制
# Install postgres
docker run -d --name rb-postgres -e POSTGRES_USER=reviewboard postgres
# Install memcached
docker run --name rb-memcached -d -p 11211 sylvainlasnier/memcached
# Create a data container for reviewboard with ssh credentials and media.
docker run -v /.ssh -v /media --name rb-data busybox true
# Run reviewboard
docker run -it --link rb-postgres:pg --link rb-memcached:memcached --volumes-from rb-data -p 8000:8000 ikatson/reviewboard

在docker命令执行完成后,通过http://ip:8000/便可访问reviewboard,管理员帐号是admin:admin,登录之后可以修改管理员密码,设置SMTP等。

使用docker ps查看运行的容器:

通过csphere的管理界面,也可以查看相应的容器信息:

此外,也可以通过源码自己构建镜像(包括依赖),也可以选择将PostgreSQL、memcached安装在主机上。

更多,详见: https://registry.hub.docker.com/u/ikatson/reviewboard/

reviewboard容器的挂载点和环境变量:

这个容器有两个Volum挂载点:

  • /.ssh:reviewboard存储ssh key的默认路径
  • /media:reviewboard存储上传的媒介的默认路径

这个容器接收如下环境变量:

  • PGHOST:postgre的主机,默认是PG_PORT_5432_TCP_ADDR的值,由连接的容器pg提供。
  • PGPORT:postgre的端口,默认是PG_PORT_5432_TCP_PORT的值,由连接的容器pg提供,或者是5432,或者是空。
  • PGUSER:postgre的用户,默认是reviewboard。
  • PGDB:postgre数据库,默认是reviewboard。
  • PGPASSWORD:postgre密码,默认是reviewboard。
  • MEMCACHED:mencached地址,以host:port的形式,默认的值来着连接的mencached容器。
  • DOMAIN:默认是localhost。
  • DEBUG:如果设置,django服务将以debug模式运行。

此外,Docker镜像或容器可以持久化(docker export用于持久化容器,docker save用于持久化镜像)到文件系统中;

同时可以使用docker import导入持久化的容器,可以使用docker load载入持久化的镜像;

这使得镜像或容器的迁移非常方便。

这样docker化的reviewboard迁移变得更简单。

总之,docker化的reviewboard让reviewboard安装、迁移更简单。

参考:

https://registry.hub.docker.com/u/ikatson/reviewboard/

http://dockerpool.com/static/books/docker_practice/image/save_load.html

http://dockerpool.com/static/books/docker_practice/container/import_export.html

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015/06/30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档