zoukankan      html  css  js  c++  java
  • docker安装gitlab,redis,postgresql搭建代码托管环境

    配置加速器

    可以参考下面链接去配置一下docker加速器(不过还是推荐用aliyun的)

    http://blog.csdn.net/gzhouc/article/details/65934897


    拉取镜像

    docker pull sameersbn/gitlab:9.1.4
    docker pull sameersbn/postgresql:9.6-2
    docker pull sameersbn/redis:latest

    上述的版本大家可以去查找最新的版本。


    创建数据文件夹, 位置随意,大家记下即可

    mkdir /home/YOUDIR/opt/gitlab/data

    mkdir /home/YOUDIR/opt/postgresql/data


    启动postgresql

    docker run --name=postgresql -d
    -e 'DB_NAME=gitlabhq_production' -e 'DB_USER=gitlab' -e 'DB_PASS=password'
    -v /home/YOUDIR/opt/postgresql/data:/var/lib/postgresql
    sameersbn/postgresql:9.6-2

    上述的位置与数据文件夹保持一致。


    启动redis

    docker run --name=redis -d sameersbn/redis:latest


    启动gitlab

    docker run --name='gitlab' -d
    --link redis:redisio
    -v /home/username/opt/gitlab/data:/home/git/data
    -p 10022:22 -p 10080:80
    -e 'GITLAB_PORT=10080'
    -e 'GITLAB_SSH_PORT=10022'
    --link postgresql:postgresql
    -e 'GITLAB_EMAIL=guanzh1@lenovo.com'
    -e 'GITLAB_BACKUPS=daily'
    -e 'GITLAB_HOST=10.100.208.12'
    -e 'GITLAB_SIGNUP=true'
    -e 'GITLAB_GRAVATAR_ENABLED=false'
    sameersbn/gitlab:9.1.4

    上述的位置与数据文件夹保持一致,更多参数请见这里https://github.com/sameersbn/docker-gitlab#postgresql 。

    上述设置会每天自动进行备份,建议开启。

    注:gitlab安装完成后默认用户名为root, 默认的密码如下:


    手动备份

    docker stop gitlab
    docker rm gitlab

    docker run --name='gitlab' -it --rm
    你的设置
    sameersbn/gitlab:9.1.4 app:rake gitlab:backup:create

    这样就会在/home/YOUDIR/opt/gitlab/data/backups下面创建备份,备份的所属者请看下ls -la /home/YOUDIR/opt/gitlab/data/backups下面的文件,迁移的时候有用,另外迁移的话,也只需要保留这个备份出来的文件即可。


    恢复备份

    确保你的gitlab的版本跟备份的版本一致。

    docker run --name='gitlab' -it --rm
    你的设置
    sameersbn/gitlab:9.1.4 app:rake gitlab:backup:restore

    这样就能确保迁移之后的版本跟迁移之前的版本一样了。


    迁移

    这个时候你只要在目标机器上做完准备工作之后,启动一次gitlab,然后把之前备份的文件放到/home/YOUDIR/opt/gitlab/data/backups下面,确保备份文件的权限问题之后恢复备份即可


    升级

    先备份,防止升级后出现问题,然后docker pull新的版本之后,直接run就可以了。


    如何从你的库来源完全镜像到gitlab


    git clone --mirror https://github.com/exampleuser/repository-to-mirror.git


    git remote set-url --push origin https://github.com/exampleuser/mirrored


    git fetch -p origin
    git push --mirror

    这个能保证你的来源在被提交的时候,gitlab能保持完全一致。

    最后只要指定时间关闭来源的提交之后久就可以无缝切换到gitlab了。


    REF

    https://github.com/sameersbn/docker-gitlab#available-configuration-parameters

    https://www.aswifter.com/2015/06/14/gitlab-with-docker/

  • 相关阅读:
    [Swift]关键字:class与staitc的区别
    [Swift]LeetCode1171. 从链表中删去总和值为零的连续节点 | Remove Zero Sum Consecutive Nodes from Linked List
    [Swift]LeetCode1172. 餐盘栈 | Dinner Plate Stacks
    [Swift]LeetCode1170. 比较字符串最小字母出现频次 | Compare Strings by Frequency of the Smallest Character
    [Swift]LeetCode1169. 查询无效交易 | Invalid Transactions
    [Swift]LeetCode1167. 连接棒材的最低费用 | Minimum Cost to Connect Sticks
    [Swift]LeetCode1166.设计文件系统 | Design File System
    [Swift]LeetCode1165. 单行键盘 | Single-Row Keyboard
    [Swift]LeetCode1168. 水资源分配优化 | Optimize Water Distribution in a Village
    METRO风格
  • 原文地址:https://www.cnblogs.com/double12gzh/p/10166101.html
Copyright © 2011-2022 走看看