美文网首页gitlab
gitlab安装使用记录

gitlab安装使用记录

作者: gao922699 | 来源:发表于2022-08-08 00:10 被阅读0次

    安装配置

    使用docker-compose安装,docker-compose.yml文件如下:

    version: '3'
    
    services:
      gitlab:
        image: gitlab/gitlab-ce:latest
        container_name: gitlab
    #    restart: always
        hostname: 'gitlab.gaoqing.com'
        environment:
         GITLAB_OMNIBUS_CONFIG: |
           external_url 'http://gitlab.gaoqing.com'
        ports:
            - '80:80'
            - '443:443'
            - '3333:22'
        volumes:
          - /home/gaoqing/gitlab/config:/etc/gitlab
          - /home/gaoqing/gitlab/logs:/var/log/gitlab
          - /home/gaoqing/gitlab/data:/var/opt/gitlab
    

    服务起来后需要等待系统初始化,半分钟左右后才能访问

    1. 修改root账号的密码

    2. 注册一个账号登入

    3. 配置ssh-key setting->ssh keys 把公钥填进去,对应私钥放本地.ssh目录

    4. 在~/.ssh/config文件中添加:

    host gitlab.gaoqing.com
         user git
         hostname 127.0.0.1              //部署gitlab的机器IP
         Port 3333                      //对应compose配置中开放的端口号
         identityfile ~/.ssh/id_rsa     //对应账号的私钥
    

    配置完成后就可以拉取代码了。

    deploy key 部署密钥

    每个项目单独配置

    进入项目->settings->repository->deploy key

    添加方式和配置账号的密钥类似,把公钥放进去。注意:不能和账号密钥使用同一个。

    内网穿透

    一般来说gitlab库是部署在内网的机器上的,而外网正式服务器又无法访问内网机器,如何拉取代码呢?这时候要用到ssh端口转发相关知识。具体介绍看这里:

    https://blog.csdn.net/a351945755/article/details/21785647

    大致方法如下:

    1. 内网机器写一份ssh的config,连接到外网机器并进行端口转发

    2. 外网机器写gitlab相关配置,把git请求转发到内网

    内网机器的ssh配置:

    host aliyun
      user root
      hostname 106.14.xxx.xx
      port 2222
      identityFile ~/.ssh/id_rsa_self
      RemoteForward 3333 127.0.0.1:3333   //主要是这句,把远端的3333端口内容转发到本地的3333端口上
    

    外网机器的ssh配置:

    host gitlab.gaoqing.com
        User git
        Hostname 127.0.0.1
        Port 3333
        IdentityFile ~/.ssh/id_rsa_deploy  //使用deploy key
    

    在内网部署gitlab的机器上通过ssh aliyun命令连接到外网机器,这样就能在外网机器上拉取内网gitlab上的代码了

    gitlab还有很多其他功能,集成部署,自动化测试啥的,有待日后研究。

    相关文章

      网友评论

        本文标题:gitlab安装使用记录

        本文链接:https://www.haomeiwen.com/subject/mruxwrtx.html