在Linux上通过Docker容器化部署GitLab是一个相对简单且高效的方法。以下是一个基本的部署方案,包括安装Docker、Docker Compose,以及使用docker-compose
文件来启动GitLab容器。
更新系统包:
sudo apt update
sudo apt upgrade
安装依赖包:
sudo apt install -y curl openssh-server ca-certificates tzdata perl
安装Ruby和OpenSSL:
sudo apt install -y ruby2.7 libssl-dev zlib1g-dev
安装Docker和Docker Compose:
安装Docker:
wget -qO - https://pkg.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://pkg.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
安装Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
创建目录结构: 在宿主机上创建用于存放GitLab配置、日志和数据的目录,例如:
mkdir -p /data/gitlab/{config,logs,data}
编写docker-compose.yml
文件:
使用以下配置作为示例,并根据需要进行调整:
version: '3.1'
services:
gitlab:
image: gitlab/gitlab-ce:latest
container_name: gitlab
restart: always
environment:
GITLAB_OMNIBUS_CONFIG: /etc/gitlab/gitlab.rb
external_url: 'http://your_server_ip:80' # 修改为你的GitLab外部URL
ports:
- '443:443'
- '80:80'
- '22:22'
volumes:
- '/data/gitlab/config:/etc/gitlab'
- '/data/gitlab/logs:/var/log/gitlab'
- '/data/gitlab/data:/var/opt/gitlab'
- '/etc/localtime:/etc/localtime:ro' # 保持宿主机和容器时间同步
启动GitLab容器:
在包含docker-compose.yml
文件的目录中运行以下命令:
docker-compose up -d
进入容器并设置初始root密码:
docker exec -it gitlab /bin.bash
cat /etc/gitlab/initial_root_password
访问GitLab: 在浏览器中输入服务器的IP地址或域名,按照提示完成初始设置。
配置外部URL(可选): 如果需要使用自定义域名,可以进入容器并修改配置文件:
docker exec -it gitlab /bin.bash
vim /etc/gitlab/gitlab.rb
# 修改 external_url 'http://your_server_ip'
gitlab-ctl reconfigure
配置HTTPS(可选):
gitlab-ctl configure-ssl 'http://your_server_ip'
通过以上步骤,你就可以在Linux系统上成功搭建GitLab服务器,并开始使用GitLab进行代码管理和团队协作了。