摘要:迁移版起因公司的之前一直是安装在阿里云上的,考虑到隐私因素和安全性,准备迁移到本地的内网服务器内。而且容器化现在的流行和一些好的特性,准备这次用来部署。分析之前的用的一键安装包,数据库是规划启动三个容器一个容器运行一个容器运行然后到上。
Gitlab迁移(Docker版) 起因
公司的gitlab之前一直是安装在阿里云上的,考虑到隐私因素和安全性,准备迁移到本地的内网服务器内。而且容器化现在的流行和一些好的特性,准备这次用docker来部署gitlab。
分析之前的gitlab用的一键安装包,数据库是postgresql
规划启动三个docker容器
一个容器运行gitlab
一个容器运行postgresql,然后 link到gitlab上。
一个容器运行Redis,然后 link到gitlab上。
docker的安装的话这里就不说了,自行去搜各个系统的安装方法。
安装方法我们先pull镜像然后创建持久化目录,
sudo docker pull sameersbn/postgresql:9.4 sudo mkdir -p /opt/postgresql/data
启动postgresql容器。
docker run --name postgresql -d -e "DB_NAME=gitlabhq_production" -e "DB_USER=gitlab" -e "DB_PASS=password" -e "DB_EXTENSION=pg_trgm" -v /opt/postgresql/data:/var/lib/postgresql sameersbn/postgresql:9.4
先pull redis image
sudo docker pull sameersbn/redis:latest
启动 redis 容器
sudo docker run --name=redis -d sameersbn/redis:latest
先把老版的Gitlab image pull回来
sudo docker pull sameersbn/gitlab:8.16.6
创建数据目录
sudo mkdir -p /opt/gitlab/data
这个目录会映像到窗口的/home/git/data目录上,所以这里保存了所有的数据,请一定不要删除这里的内容。
初始化
然后配置容器
docker run --name gitlab -i -t --rm --link postgresql:postgresql --link redis:redisio -e "DB_USER=gitlab" -e "DB_PASS=password" -e "DB_NAME=gitlabhq_production" -e "GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string" -e "GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alpha-numeric-string" -e "GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alpha-numeric-string" -v /opt/gitlab/data:/home/git/data sameersbn/gitlab:8.16.6 app:rake gitlab:setup
恢复
这里要先把之前的备份放在/opt/gitlab/data/backup 下面
BACKUP 参数是备份名的前缀
docker run --name gitlab -it --rm -p 10022:22 -p 10080:80 --link postgresql:postgresql --link redis:redisio -e "DB_USER=gitlab" -e "DB_PASS=password" -e "DB_NAME=gitlabhq_production" -e "GITLAB_HOST=10.21.12.14" -e "GITLAB_TIMEZONE=Beijing" -e "GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string" -e "GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alpha-numeric-string" -e "GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alpha-numeric-string" -v /opt/gitlab/data:/home/git/data sameersbn/gitlab:8.16.6 app:rake gitlab:backup:restore BACKUP=1504835793_2017_09_08
这个样数据就全部到新的gitlab上了。
你会发现跟原来的一样。
启动容器
(注意:GITLAB_HOST=192.168.1.100:10080 这个参数要配置自己服务器的地址,并且带上绑定的端口,不然在网页端操作时会有问题)
docker run --name gitlab -d -p 10022:22 -p 10080:80 --link postgresql:postgresql --link redis:redisio -e "DB_USER=gitlab" -e "DB_PASS=password" -e "DB_NAME=gitlabhq_production" -e "GITLAB_HOST=192.168.1.100:10080" -e "GITLAB_TIMEZONE=Beijing" -e "GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string" -e "GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alpha-numeric-string" -e "GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alpha-numeric-string" -v /opt/gitlab/data:/home/git/data sameersbn/gitlab:8.16.6
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/8004.html
摘要:迁移版起因公司的之前一直是安装在阿里云上的,考虑到隐私因素和安全性,准备迁移到本地的内网服务器内。而且容器化现在的流行和一些好的特性,准备这次用来部署。分析之前的用的一键安装包,数据库是规划启动三个容器一个容器运行一个容器运行然后到上。 Gitlab迁移(Docker版) 起因 公司的gitlab之前一直是安装在阿里云上的,考虑到隐私因素和安全性,准备迁移到本地的内网服务器内。而且容器...
摘要:而持续集成的意义就在于减少风险,和重复的过程,最终提高工作效率。第二级调度由被称作的组件组成。能和不同类型的通信,每种由相应的应用集群管理。这是的任务启动过程。数人云运维平台持续集成实践这是数人云运维平台的持续集成实践。 今天小数给大家带来的又是十足的干货:当运维遇到云计算,当Docker遇到Mesos和Jenkins,会擦出怎样的火花呢?且看来自数人云运维工程师金烨的演讲实录分享——...
摘要:本文转载自微信公众号账号,作者为海航生态科技技术研究院大数据开发工程师高颜。文章介绍了海航生态科技舆情大数据平台的容器化改造经验,包括初期技术架构应用容器化架构迁移持续发布与部署。 本文转载自微信公众号Docker(账号:dockerone),作者为海航生态科技技术研究院大数据开发工程师高颜。 文章介绍了海航生态科技舆情大数据平台的容器化改造经验,包括初期技术架构、应用容器化、架构迁...
摘要:本文是数人云工程师方志浩在微信群分享的实录,与大家聊一聊应用容器在配置管理中遇到的问题以及解决方法。数人云分测试演示生产三种环境进行持续集成发布,同时数人云组件通过进行应用容器的封装下发和管理。 本文是数人云工程师方志浩在DockOne微信群分享的实录,与大家聊一聊应用容器在配置管理中遇到的问题以及解决方法。 随着Docker技术的火热发展, Docker在代码构建发布中扮演着越来越重...
阅读 849·2021-11-22 09:34
阅读 931·2021-10-08 10:16
阅读 1753·2021-07-25 21:42
阅读 1776·2019-08-30 15:53
阅读 3488·2019-08-30 13:08
阅读 2128·2019-08-29 17:30
阅读 3258·2019-08-29 17:22
阅读 2154·2019-08-29 15:35