gitlab

gitlab安装使用记录

2022-08-08  本文已影响0人  gao922699

安装配置

使用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还有很多其他功能,集成部署,自动化测试啥的,有待日后研究。

上一篇下一篇

猜你喜欢

热点阅读