Willson Chen

Stay Hungry, Stay Foolish.

Gitlab 安装与使用

Gitlab 安装与使用

安装

docker search gitlab/gitlab-ce #查找 centos 镜像
docker pull gitlab/gitlab-ce:latest #拉取
docker images |grep gitlab #查看已拉取镜像

#不映射80端口,是因为后面需要修改外部访问地址到5180
docker run --privileged --name gitlab \
-p 5143:443 -p 5180:5180 -p 2224:22 \
-v /volume3/docker/gitlab/config:/etc/gitlab \
-v /volume3/docker/gitlab/log:/var/log/gitlab \
-v /volume3/docker/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce

docker ps |grep gitlab #查看已运行容器

修改 gitlab 配置:
gitlab 第一次启动需要比较长时间初始化,等初始化完成后修改配置文件。
修改主机挂载的目录下的文件,如/volume3/docker/gitlab/config/gitlab.rb 文件。
修改以下配置:

#外部访问地址,和映射的容器内部端口一致
external_url 'http://192.168.3.8:5180'
#ssh主机和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.3.8'
gitlab_rails['gitlab_shell_ssh_port'] = 2224
#时区
gitlab_rails['time_zone'] = 'Asia/Shanghai'
#发邮件相关配置,如 qq 邮箱
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "[email protected]"
gitlab_rails['smtp_password'] = "xxxxx"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_tls'] = true
gitlab_rails['smtp_pool'] = false
gitlab_rails['gitlab_email_from'] = '[email protected]'

配置生效:

docker exec -it gitlab /bin/bash #进入容器
gitlab-ctl reconfigure #配置生效
gitlab-ctl restart #重启

使用

  • 根据主机 IP 和映射端口,访问 gitlab 页面,如:http://192.168.3.8:5180
  • 首次登录用户名 root,密码在配置目录下的文件 initial_root_password
  • 在Preferences/Localization/Language 配置下,选择中文语言,刷新页面生效。
  • 修改管理员用户名、密码。
  • 配置邮箱,用于接收 gitlab 发送的邮件。
  • 配置 SSH 公钥,用于 git 仓库的访问。
#在需要访问 gitlab 的机器上执行
#生成 SSH 密钥
ssh-keygen -t rsa -C "[email protected]"
#将公钥添加到 gitlab
cat ~/.ssh/id_rsa.pub
#复制公钥到 gitlab 管理页面

k8s 中安装 agent

在 gitlab 中添加 kubernetes 集群,会生成 shell 脚本。
修改 gitlab 访问地址,然后到k8s 集群中用执行脚本。

helm repo add gitlab https://charts.gitlab.io
helm repo update
helm upgrade --install nas-share gitlab/gitlab-agent \
    --namespace gitlab-agent-nas-share \
    --create-namespace \
    --set image.tag=v16.4.0 \
    --set config.token=glagent-xii4ZuJsM-rqg4xiweszFHM3AmmLfHkx_yCDbP2TZoK4iuLE6Q \
    --set config.kasAddress=ws://192.168.3.8:5180/-/kubernetes-agent/

# 如果需要卸载
helm uninstall nas-share --namespace gitlab-agent-nas-share

k8s 中安装 runner

在 gitlab 中添加 runner,获得 token。
在 k8s节点下执行。

helm repo add gitlab https://charts.gitlab.io
helm repo update

helm install gitlab-runner \
  --namespace=gitlab-runner \
  --create-namespace \
  --set gitlabUrl=http://192.168.3.8:5180 \
  --set runnerToken=glrt-FpaYVBAn4DffcgEpJhy8 \
  --set rbac.create=true \
  --set rbac.clusterWideAccess=true \
  gitlab/gitlab-runner