# 手动部署
RHEL 8.9 on amd64
注意:官方没有 arm64 架构的镜像,如果不使用第三方的 arm64 镜像,则需要使用 RPM/DEB 包进行安装。
https://docs.gitlab.com/ee/install
# 安装docker
# docker
mkdir -p /data/docker
yum install -y libcgroup container-selinux
# rpm -ivh container-selinux-2.138.0-1.uel20.noarch.rpm
rpm -ivh containerd.io-1.6.28-3.2.el8.x86_64.rpm
rpm -ivh docker-ce-cli-25.0.4-1.el8.x86_64.rpm
rpm -ivh docker-ce-25.0.4-1.el8.x86_64.rpm
rpm -ivh docker-compose-plugin-2.24.7-1.el8.x86_64.rpm
rpm -ivh docker-buildx-plugin-0.13.0-1.el8.x86_64.rpm
cat > /etc/docker/daemon.json <<EOF
{
"insecure-registries": [
"r.oso.plus"
],
"exec-opts": [
"native.cgroupdriver=systemd"
],
"registry-mirrors": [
"https://r.oso.plus",
"https://registry.docker-cn.com",
"https://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"
],
"data-root": "/data/docker",
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
}
}
EOF
echo 'export PATH=/usr/libexec/docker/cli-plugins:$PATH' >>/etc/profile
source /etc/profile
systemctl enable containerd docker
systemctl start containerd docker
systemctl status containerd docker
# gitlab-ce
https://docs.gitlab.com/ee/update/package/index.html#upgrade-using-the-official-repositories 安装
# gitlab-ce
# https://packages.gitlab.com/gitlab/gitlab-ce
# https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
# https://hub.docker.com/r/gitlab/gitlab-ce
# gitlab-runne
# https://docs.gitlab.com/runner/install/bleeding-edge.html#download-any-other-tagged-release
# https://s3.dualstack.us-east-1.amazonaws.com/gitlab-runner-downloads/main/binaries/gitlab-runner-linux-amd64
# https://s3.dualstack.us-east-1.amazonaws.com/gitlab-runner-downloads/main/binaries/gitlab-runner-linux-arm64
dnf install -y libatomic openssh-server perl policycoreutils-python-utils
# 如果wget只使用ipv4连接 添加参数 --inet4-only
wget --no-check-certificate --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/8/gitlab-ce-16.9.2-ce.0.el8.x86_64.rpm/download.rpm
# wget --no-check-certificate --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/8/gitlab-ce-16.9.2-ce.0.el8.aarch64.rpm/download.rpm
# https://frontend-project-dev.oss-cn-beijing.aliyuncs.com/software/gitlab-ce-arm64v8-15.6.7-ce.0.gz
EXTERNAL_URL="http://gitlab.oso.plus" rpm -ivh gitlab-ce-16.9.2-ce.0.el8.x86_64.rpm
# EXTERNAL_URL="http://192.168.100.149" rpm -ivh gitlab-ce-16.9.2-ce.0.el8.x86_64.rpm
gitlab-ctl reconfigure
# 修改默认数据存储目录 注意缩进
mkdir -p /data/gitlab/git-data
# 在 /etc/gitlab/gitlab.rb 文件中搜索git_data_dirs,并做如下修改
git_data_dirs({
"default" => {
"path" => "/data/gitlab/git-data"
}
})
# 初始密码保存在 /etc/gitlab/initial_root_password 文件中 24小时内有效
cat /etc/gitlab/initial_root_password
# 迁移旧的数据到新的位置
cp -ar /var/opt/gitlab/git-data/repositories /data/gitlab/git-data/
# 重新加载配置
gitlab-ctl reconfigure
# 启动gitlab
gitlab-ctl start
# 浏览器访问 帐号 root 密码 K8BWgX7sZrvXZ5dwvGqxTNhpiyS/YQAT11Khf3eHHz4=
http://192.168.100.145
# 首次登录时可能会提示
Check your sign-up restrictions
Your GitLab instance allows anyone to register for an account, which is a security risk on public-facing GitLab instances. You should deactivate new sign ups if public users aren't expected to register for an account.
停用新用户注册选 deactivate
开放新用户注册选 acknowledge
# 开机自启和服务管理
systemctl enable gitlab-runsvdir
systemctl restart gitlab-runsvdir
# 设置中文界面
# gitlab初始用户名和密码
当第一次安装gitlab,需要创建一个管理员账户,其用户名和密码都是默认的。如果修改默认用户名和密码,需要进行以下步骤:
1、修改以下文件中的用户名和密码:
vim /etc/gitlab/gitlab.rb
修改admin用户的密码:
gitlab_rails['initial_root_password'] = 'password'
2、重启gitlab:
gitlab-ctl reconfigure
gitlab-ctl restart
3、执行以下命令重置管理员账户的密码:
gitlab-rails console -e production
user = User.find_by(username: 'root')
user.password = 'password'
user.password_confirmation = 'password'
user.save!
4、如果没生效的话,就再重启一起吧
# 官方docker镜像下载
注意:官方到目前为止,只有amd64架构的容器镜像
docker pull gitlab/gitlab-ce:13.12.15-ce.0
docker pull gitlab/gitlab-ce:14.10.5-ce.0
docker pull gitlab/gitlab-ce:15.11.13-ce.0
docker pull gitlab/gitlab-ce:16.11.5-ce.0
docker pull gitlab/gitlab-ce:17.1.1-ce.0
经测试可用的arm64架构的非官方容器镜像 但是只提供arm64的镜像
https://hub.docker.com/r/ravermeister/gitlab
docker pull --platform linux/arm64 ravermeister/gitlab:17.0.2
docker pull --platform linux/arm64 ravermeister/gitlab:16.11.2
docker pull --platform linux/arm64 ravermeister/gitlab:16.10.3
docker pull --platform linux/arm64 ravermeister/gitlab:16.9.2
docker pull --platform linux/arm64 ravermeister/gitlab:16.8.2
docker pull --platform linux/arm64 ravermeister/gitlab:16.7.3
docker pull --platform linux/arm64 ravermeister/gitlab:16.6.2
docker pull --platform linux/arm64 ravermeister/gitlab:15.11.5
docker pull --platform linux/arm64 ravermeister/gitlab:14.10.3
docker pull --platform linux/arm64 ravermeister/gitlab:13.12.4
# 使用docker运行gitlab
# 如果有独立的数据盘,提前将数据盘挂载到/data目录,并配置/etc/fstab 开机启动挂载
# 1、创建gitlab数据目录
mkdir -pv /data/gitlab
# 2、创建docker-compose.yaml文件
# 根据实际情况修改镜像、映射端口、external_url 'http://10.101.68.5'
cat << EOF > /data/gitlab/docker-compose.yaml
services:
gitlab:
image: harbor.seeyon.com/v8base/gitlab-ee:17.6.1-ee.0
#network_mode: host
container_name: gitlab
restart: always
hostname: 'gitlab'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://10.101.68.5'
ports:
- '80:80'
- '443:443'
- '22:22'
volumes:
- './config:/etc/gitlab:Z'
- './logs:/var/log/gitlab:Z'
- './data:/var/opt/gitlab:Z'
EOF
# 3、启动gitlab
cd /data/gitlab
docker-compose up -d
# 4、等待gitlab启动完成,可以通过docker logs -f xxx 查看日志。获取root的初始密码,然后就可以登录gitlab进行使用了。
cat /data/gitlab/config/initial_root_password
编撰人:yangfc、liubo
