• 第三十九章 微服务CICD(1)- gitlab搭建与使用(docker版)


    一、下载docker镜像

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

    • docker pull gitlab/gitlab-ce

     gitlab是8.13.1版本。

    二、启动应用

    • 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)

    四、指定端口启动

    • docker run -d -h gitlab.zhaojigang.com -p 8929:8929 -p 2289:22 -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中进行域名映射(或者在访问机器/etc/hosts中配置域名映射)
    • -p 8929:8929
      • 8929:http端口
    • -p 2289:22
      • 22:ssh端口,ssh端口不要随便替换,代价会比较大,这样之后,发现clone是可以的,但是push不行

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

    • sysctl -w net.ipv4.ip_forward=1 

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

    • sudo vi /etc/hosts,添加如下一行映射
    10.211.55.3     gitlab.zhaojigang.com
    • http://10.211.55.3:8929/(或者http://gitlab.zhaojigang.com: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

    此时,将产生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分支上‘

    附:ssh key配置

    在本机(git客户端安装的机器上)执行

    • ssh-keygen -t rsa -C "admin@example.com"

    之后将生成的公钥(cat ~/.ssh/id_rsa.pub)贴到gitlab的ssh key框中即可。

    遗留问题:

    • host DNS解析
      • 采用在访问机器配置/etc/hosts映射关系的方式解决
    • .gitignore不起作用
      • 解决方案:http://www.pfeng.org/archives/840
  • 相关阅读:
    (转载)正向代理与反向代理的区别
    Java设计模式系列之装饰者模式
    工作中使用到的技术和工具分享
    Springboot+mybatis整合
    云计算入门和实践
    tesseract系列(1) -- tesseract用vs编译成库
    nodepad++ 让所有的加号收缩折叠展开的快捷键
    tesseract系列(4) -- tesseract训练问题总结
    tessereact的链接收藏
    菜鸟cmake使用
  • 原文地址:https://www.cnblogs.com/java-zhao/p/6011641.html
Copyright © 2020-2023  润新知