首页 > 代码库 > 第三十九章 gitlab搭建与使用(docker版)

第三十九章 gitlab搭建与使用(docker版)

一、下载docker镜像

前提:docker引擎已经安装好。

  • docker pull gitlab/gitlab-ce

 

二、启动应用

  • docker run -d -h gitlab.zhaojigang.com -p 80:80 -v /etc/gitlab/:/etc/gitlab/ -v /var/log/gitlab/:/var/log/gitlab/ -v /var/opt/gitlab/:/var/opt/gitlab/ --name gitlab docker.io/gitlab/gitlab-ce

说明:本次启用是为了生成配置文件。

  • /etc/gitlab/:配置文件所在的目录
  • /var/log/gitlab:日志所在目录
  • /var/opt/gitlab:数据所在目录

 

三、修改配置文件

vi /etc/gitlab/gitlab.rb

两个地方:

  • external_url ‘http://gitlab.zhaojigang.com:8929‘(将http端口设置为8929而不是默认的80)
  • gitlab_rails[‘gitlab_shell_ssh_port‘] = 2289(将ssh端口设置为2289而不是默认的22端口,22短裤上可能已经在跑ssh服务了)

 

四、指定端口启动

  • docker run -d -h gitlab.zhaojigang.com -p 8929:8929 -p 2289:2289 -v /etc/gitlab/:/etc/gitlab/ -v /var/log/gitlab/:/var/log/gitlab/ -v /var/opt/gitlab/:/var/opt/gitlab/ --name gitlab docker.io/gitlab/gitlab-ce

说明:

  • -h gitlab.zhaojigang.com
    • hostname:以gitlab.zhaojigang.com作为域名访问gitlab,需要在DNS中进行域名映射
  • -p 8929:8929
    • 8929:http端口
  • -p 2289:2289
    • 2289:ssh端口

注意:如果有ipv4无法forward的问题,先使用:

  • sysctl -w net.ipv4.ip_forward=1 

 

五、浏览器访问(直接使用ip不使用上边指定的hostname

  • http://10.211.55.3:8929/
    • 其中,10.211.55.3是gitlab所在机器的地址

技术分享

在这里,创建密码(eg.123456),之后使用用户名(root)和密码(123456)登陆。

 

六、新建group

技术分享

说明:将所有的微服务代码存放在services组下,该组的可见性是Internal(可自己指定)

  • private:该组下的所有项目只能被该组的成员看到
  • internal:所有登陆的用户都可以看到该组下的所有项目

创建group失败!!!因为services是保留字,所以不能做组名。改成service是可以的。

 技术分享 

 

七、新建project

技术分享

 

八、将原有的项目(myframework)push到远程master

  • cd Desktop/microservice/myframework/
  • git init
  • git remote add origin http://gitlab.zhaojigang.com:8929/service/myframework.git
  • git add --all
  • git commit -m"init"
  • git push origin HEAD:master

注意:在push的过程中,可能出现gitlab.zhaojigang.com这个host无法解析的情况,

  • sudo vi /etc/hosts,添加如下一行映射
10.211.55.3     gitlab.zhaojigang.com

此时,将产生2个分支,一个本地master,一个远程master。

 

九、创建dev分支

技术分享

1、在如上页面创建远程dev分支(该分支根据master创建)。

2、本地创建dev分支

  • git checkout -b dev

此时"git branch -a"只能看到三个分支,本地dev、master以及远程master。

修改中一些代码后,

3、本地dev追踪远程dev

  • git add --all
  • git commit -m"xxx"
  • git push origin HEAD:dev

此时"git branch -a"就能看到4个分支,本地dev、master以及远程dev、master。

4、将远程dev分支的代码merge到远程master分支上‘

技术分享

遗留问题:

  • host DNS解析
  • .gitignore不起作用
  • ssh方式connect refused

第三十九章 gitlab搭建与使用(docker版)