GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab :https://gitlab.cn/install?channel=content&utm_source=csdn 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。

更多关于极狐GitLab :https://gitlab.cn 或者 DevOps 的最佳实践,可以关注文末的极狐GitLab 公众号。

学习极狐GitLab 的相关资料:

  1. 极狐GitLab 官网:https://gitlab.cn
  2. 极狐GitLab 官网文档:https://docs.gitlab.cn
  3. 极狐GitLab 论坛:https://forum.gitlab.cn/
  4. 极狐GitLab 安装配置:https://gitlab.cn/install
  5. 极狐GitLab 资源中心:https://resources.gitlab.cn

搜索【极狐GitLab】公众号,后台输入加群,备注gitlab,即可加入官方微信技术交流群。

极狐GitLab 公众号后台回复新手指南,免费领取极狐GitLab 新手指南一份,从零到一快速上手极狐GitLab。

极狐GitLab 支持多种安装方式:源代码安装二进制安装软件包安装以及容器化安装等。本文演示如何使用 docker 的方式来安装极狐GitLab。

前提条件

服务器配置

首先需要一个可用的服务器,配置如下(最小配置,生产使用,请按照组织所需使用人数进行配置):

OS Version CPU RAM
Ubuntu 20.04 LTS 4 Core 8 GB
docker 运行环境
$ docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Docker Buildx (Docker Inc., v0.7.1-docker)
  scan: Docker Scan (Docker Inc., v0.12.0)

Server:
 Containers: 1
  Running: 1
  Paused: 0
  Stopped: 0
 Images: 1
 Server Version: 20.10.12
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 7b11cfaabd73bb80907dd23182b9347b4245eb5d
 runc version: v1.0.2-0-g52b36a2
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 5.4.0-90-generic
 Operating System: Ubuntu 20.04 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 4
 Total Memory: 7.275GiB
 Name: VM-0-6-ubuntu
 ID: T5PE:6SPG:I5XJ:FXWI:XIYE:SCZH:2O7L:IM3Y:7HCU:IKYF:QI6L:KT3M
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

安装

用 docker 的方式来安装运行极狐GitLab 实例的详细流程可以查看极狐GitLab 中文官网文档:https://docs.gitlab.cn/jh/install/docker.html。

设置环境变量

首先需要设置一下存储卷的信息,设置一个环境变量 GITLAB_HOME 即可。对于 Linux 用户,路径可以设置为 /srv/gitlab/;macOS 用户,可设置为 $HOME/gitlab。本文使用 Ubuntu 系统,所以执行如下命令设置相应的环境变量:

$ export GITLAB_HOME=/srv/gitlab

宿主机存储位置与容器内存储位置及使用目的的关系如下:

本地位置 容器位置 用途
$GITLAB_HOME/data /var/opt/gitlab 用于存储应用程序数据
$GITLAB_HOME/logs /var/log/gitlab 用于存储日志
$GITLAB_HOME/config /etc/gitlab 用于存储极狐GitLab 配置文件

开始安装

用 docker run 命令即可开始安装:

docker run --detach \
   --hostname jh-xiaomage.gitlab.cn \
   --env GITLAB_OMNIBUS_CONFIG="external_url 'https://jh-xiaomage.gitlab.cn'; letsencrypt['enable'] = true;" \
   --publish 443:443 --publish 80:80 --publish 22:22 \
   --name jh-gitlab \
   --restart always \
   --volume $GITLAB_HOME/config:/etc/gitlab \
   --volume $GITLAB_HOME/logs:/var/log/gitlab \
   --volume $GITLAB_HOME/data:/var/opt/gitlab \
   registry.gitlab.cn/omnibus/gitlab-jh:latest

参数说明:

  • hostname:登陆极狐GitLab 实例的 URL
  • env GITLAB_OMNIBUS_CONFIG:以环境变量的形式将极狐GitLab 实例所需的配置参数(config.toml)进行注入,比如本文直接启用 letsencrypt 开启 HTTPS 访问,需要设置 external_url 以及 letsencrypt[‘enable’] 参数
  • publish:端口映射,开放 HTTPS(443)、HTTP(80)、SSH(22)端口来使用
  • volume:存储卷挂载
  • registry.gitlab.cn/omnibus/gitlab-jh:latest:极狐GitLab docker 镜像,针对不同版本选择不同镜像,本文 latest 用最新版本

用 docker ps 查看容器:

$ docker ps
docker ps
CONTAINER ID   IMAGE                                                   COMMAND             CREATED       STATUS                 PORTS                                                                                                         NAMES
91036bfe622f   gitlab-jh.tencentcloudcr.com/omnibus/gitlab-jh:latest   "/assets/wrapper"   2 hours ago   Up 2 hours (healthy)   0.0.0.0:22->22/tcp, :::22->22/tcp, 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   jh-gitlab

可以看到容器的名称为 jh-gitlab,ID 为 91036bfe622f。通过 docker logs -f 91036bfe622f 来查看极狐GitLab 实例的安装和配置过程:

$ docker logs -f 91036bfe622f
Running handlers:
Running handlers complete
Chef Infra Client finished, 476/1634 resources updated in 03 minutes 50 seconds

Notes:
Default admin account has been configured with following details:
Username: root
Password: You didn't opt-in to print initial root password to STDOUT.
Password stored to /etc/gitlab/initial_root_password. This file will be cleaned up in first reconfigure run after 24 hours.

NOTE: Because these credentials might be present in your log files in plain text, it is highly recommended to reset the password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

gitlab Reconfigured!
Checking for unmigrated data on legacy storage
Checking for an omnibus managed postgresql: OK
Checking if postgresql['version'] is set: OK
Checking if we already upgraded: OK

当看到上述 log 的时候可以认为实例已经启动了,在浏览器中输入 https://jh-xiaomage.gitlab.cn 即可登陆极狐GitLab 实例。

登陆

可以用初始用户名和密码来进行登陆。初始用户名为 root,密码被存在了 /etc/gitlab/initial_root_password 文件中,直接获取即可。然后在浏览器中输入 http://jh-xiaomage.gitlab.cn,接着输入用户名和密码即可。

至此已经用 docker 的方式来成功安装和运行了极狐GitLab 实例,接下来就可以使用了,诸如项目管理,CI/CD 等。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐