'搭建gitlab全过程'

说明

基于公司给的虚拟机。系统为Centos7 64位。

搭建过程

分区

~$ df –h 查看磁盘情况情况

发现磁盘空间太小了。
~$ fdisk –l 查看磁盘分区情况

发现vda这块硬盘有274.9G。于是建立新分区。
~$ fdisk /dev/vda 打开硬盘

根据提示,建立新分区,如图所示:

成功建立了一块50G的分区。
注意箭头所指的地方,提示必须重启,才会读取新的分区表。

~$ partprobe 强制内核读取新的分区表
~$ mkfs -t ext4 /dev/vda3 格式化新的分区为ext4格式。

~$ fsck -t ext4 /dev/vda3 -C –f 检测磁盘

注意:fsck命令可能会损坏文件系统,所以被fsck扫描的分区请不要被挂载。

~$ mkdir /mnt/docker 新建目录
~$ mount /dev/vda3 /mnt/docker/ 将分区挂载到目录上面
~$ df –h 查看磁盘使用情况

~$ vi /etc/fstab 编辑fatab 写入分区信息。这样服务器下次启动,不需要手动挂载了。

安装docker

~$ curl -sSL https://get.docker.com/ | sh 在线安装docker
~$ docker 安装完成后 执行docker命令

搭建中文版gitlab
详情查看 https://hub.docker.com/r/twang2218/gitlab-ce-zh/

为了将docker存储目录放到上面分区好的地方,执行以下操作。
~$ mv /var/lib/docker/ /mnt/docker/
~$ ln -s /mnt/docker/docker/ /var/lib/docker 移动docker目录到新分区下面,并且进行软连接。
~$ service docker start 启动docker服务

~$ docker info 查看docker中的root 目录

使用国内daocloud的hub源

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://d8c6a29b.m.daocloud.io

重新启动docker:
~$ service docker restart

~$ docker pull twang2218/gitlab-ce-zh 下载中文版gitlab docker

安装docker-compose

访问 https://github.com/docker/compose/releases/ 查看下载脚本

安装docker-compose
~$ curl -L https://github.com/docker/compose/releases/download/1.4.2/docker-compose-`uname -s-uname -m` > /usr/local/bin/docker-compose

chmod x /usr/local/bin/docker-compose

~$ docker-compose –version

建立docker-compose.yml

vi docker-compose.yml

执行docker-compose之前需要将宿主机22端口修改为2222。

~$ service sshd restart #重启ssh服务

~$ docker-compose up –d 启动docker-compose ps:有点问题。最后我还是直接使用了docker 运行

停止服务使用 docker-compose down

在gitlab中使用ssl证书

https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/nginx.md#enable-https

http://blog.csdn.net/liuchunming033/article/details/48470575

直接使用key和crt文件即可。
http://www.linuxidc.com/Linux/2017-02/140949.htm

需要把生成的key和crt文件拷贝到docker环境里面

进入容器,建立ssl1目录,编辑gitlab配置文件



sudo gitlab-ctl reconfigure #重新启动配置文件

注意事项

centos7默认采用了firewalld作为防火墙的管理软件。所以需要执行下面命令放行80、443、23端口:
~$ firewall-cmd –zone=public –add-port=80/tcp –permanent
~$ firewall-cmd –zone=public –add-port=443p –permanent
~$ firewall-cmd –zone=public –add-port=2222/cp –permanent
~$ systemctl restart firewalld.service

临时关闭selinux
~$ setenforce 0

至此,gitlab搭建完成

通过浏览器访问10.11.116.139,会自动跳转到https://10.11.116.139

登录

启动 GitLab 后,第一次访问时,会要求设置 root 用户的密码,密码不得小于8位。设置好后,就可以登录使用了。

第一次访问,需要直接输入root密码。 zhangsan/1
登录成功!

Gitlab-ci使用

http://www.jianshu.com/p/df433633816b