Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
backup-restore
README.md
docker-compose.yml

README.md

title date tags
Bitbucket实践
2018-06-09 05:38:00 -0700
版本控制
Docker

**前言:**之前使用了Atlassian公司的Confluence和Jira,现在新项目考虑使用Bitbucket做代码仓库,这里记录一下调研实践过程。由于之前的服务是使用docker进行部署的,所以Bitbucket也决定使用docker的方式进行部署。

除了下面的,docker设置连接Postgresql的时候需要由于是采用link的方式,所以可以在bitbucket容器中直接使用主机名也就是postgresql进行连接postgresql服务

安装

使用Docker的方式,由于Bitbucket基于性能的考虑不推荐使用mysql(参考),所以最后根据推荐决定使用PostgreSQL,以下是编写的docker-compose,可以在【Github】进行查看和建议。

postgresql:
  image: sameersbn/postgresql:9.4-3
  environment:
    - DB_USER=YourUserName
    - DB_PASS=YourPassword
    - DB_NAME=YourDatabaseName
  volumes:
    - /srv/docker/bitbucket/postgresql:/var/lib/postgresql
bitbucket:
  image: atlassian/bitbucket-server:5.0
  links:
    - postgresql:postgresql
  ports:
    - "80:7990"
    - "7999:7999"
  environment:
    - 'BITBUCKET_PROXY_NAME='
    - 'BITBUCKET_PROXY_PORT='
    - 'BITBUCKET_PROXY_SCHEME='
    - 'BITBUCKET_DELAYED_START='
  volumes:
    - /srv/docker/bitbucket/app-data:/var/atlassian/application-data/bitbucket

备份及还原

Bitbucket的备份主要包括两部分

  • 家目录:包括仓库数据、日志、插件等,具体参考【官方说明】
  • 数据库:which contains data about pull requests, comments, users, groups, permissions, and so on.

关于备份官方提供了3种方式

|类型|不停机备份|自定义备份|客户端备份| |---|---|---| |概述|使用内部一致性数据库快照和数据块级别文件系统快照进行不停机备份|使用增量备份及云供应商的快照功能|使用外部程序锁定bitbucker服务器实例,并以独立于供应商的格式备份其整个主目录和数据库。使用简单但不适用与高可用环境| |高可用|不影响服务|不可用时间短,只需要几秒钟短暂锁定存储桶就可以创建一致的快照|不可用时间长。bitbucket在整个备份过程中被锁定,这可能需要几分钟或更长时间,特别是在大型组织中| |版本支持|Bitbucket 4.8+|Bitbucket 4.0+ && Stash 2.12+|Bitbucket 4.0+ && Stash2.7+| |文档|【DOC】|【DOC】|【DOC】|

我这里选择使用官方推荐的第三种方法进行备份还原,具体文档参照【这里】

参考文献

【官方Docker参考】 【官方备份说明】