Ubuntu Gitlab 安装
更新apt源
shell
apt update
安装依赖项
shell
apt-get install curl openssh-server ca-certificates postfix
## Postfix Configuration 选择 No configuration 就好
安装wget
shell
apt-get install wget
安装版本指南
下载gitlab-ce软件包
下载地址
- https://mirrors.tuna.tsinghua.edu.cn/gitlab-ee/debian/pool/bookworm/main/g/gitlab-ee/
- https://packages.gitlab.com/app/gitlab/gitlab-ee/search?q=&filter=debs&filter=debs&dist=debian%2Fbookworm
Ubuntu 20.04的gitlab-ce软件包地址为 下载地址 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/focal/main/g/gitlab-ce
shell
# 以16.5.1为例
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/focal/main/g/gitlab-ce/gitlab-ce_16.5.1-ce.0_amd64.deb
shell
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/debian/pool/bullseye/main/g/gitlab-ce/gitlab-ce_16.8.0-ce.0_amd64.deb
安装软件
shell
dpkg -i gitlab-ce_16.5.1-ce.0_amd64.deb
Git配置说明
ini
# 配置文件路径
vim /etc/gitlab/gitlab.rb
# 对开开放路径
external_url 'https://xxx.xxx.com'
# SSH主机配置
gitlab_rails['gitlab_ssh_host'] = 'xxx.xxx'
## 邮箱配置
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxx@xxx.com"
gitlab_rails['smtp_password'] = "xxxxx"
gitlab_rails['smtp_domain'] = "smtp.exmail.qq.com"
# gitlab_rails['smtp_authentication'] = "login"
# gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
### Email Settings
gitlab_rails['gitlab_email_enabled'] = true
##! If your SMTP server does not like the default 'From: gitlab@gitlab.example.com'
##! can change the 'From' with this setting.
gitlab_rails['gitlab_email_from'] = 'xxx@xxxx.com'
gitlab_rails['gitlab_email_display_name'] = 'xxx xxx'
# gitlab_rails['gitlab_email_reply_to'] = 'noreply@example.com'
# gitlab_rails['gitlab_email_subject_suffix'] = ''
# gitlab_rails['gitlab_email_smime_enabled'] = false
# gitlab_rails['gitlab_email_smime_key_file'] = '/etc/gitlab/ssl/gitlab_smime.key'
# gitlab_rails['gitlab_email_smime_cert_file'] = '/etc/gitlab/ssl/gitlab_smime.crt'
# gitlab_rails['gitlab_email_smime_ca_certs_file'] = '/etc/gitlab/ssl/gitlab_smime_cas.crt'
### GitLab user privileges
gitlab_rails['gitlab_username_changing_enabled'] = true
# 修改存储位置
git_data_dirs({
"default" => {
"path" => "xxxx/xx/gitlab/data"
}
})
# gitlab https设置
nginx['ssl_certificate'] = "/xxxx/certs/xxx.cer"
nginx['ssl_certificate_key'] = "/xxxx/certs/xxx.key"
# 监听地址
nginx['listen_addresses'] = ['*', '[::]']
# 监听端口
nginx['listen_port'] = 8443
##! **Override only if your reverse proxy internally communicates over HTTP**
# 监听HTTPS
##! Docs: https://docs.gitlab.com/omnibus/settings/nginx.html#supporting-proxied-ssl
nginx['listen_https'] = true
# 包含自定义Nginx 配置
nginx['custom_nginx_config'] = "include /xxx/xxx.conf;"
sh
# 配置生效命令
sudo gitlab-ctl reconfigure
# 重启命令
sudo gitlab-ctl restart
升级版本
常见问题
1.SSH提示输入git账户密码
- 检查SSH 公钥是否已上传并绑定gitlab账户
- 检查git账户的公钥文件 与主机文件是否设置绑定
- git用户的home路径为 /var/opt/gitlab
- 查看
vim /etc/ssh/sshd_config
是否包含 - 加入具有SSH权限的用户组
sh
# 查看用户组
cat /etc/group
# 查看允许的SSH组权限
# vim /etc//ssh/sshd_config
# 附加 用户组
gpasswd -a git _ssh
下载Runner
下载地址: https://mirror.tuna.tsinghua.edu.cn/gitlab-runner/ubuntu/pool/focal/main/g/gitlab-runner/
安装Runner
shell
dpkg -i gitlab-runner_16.8.0_amd64.deb
log
docker,ssh,docker-autoscaler,docker+machine,
Enter optional maintenance note for the runner:
WARNING: Support for registration tokens and runner parameters in the 'register' command has been deprecated in GitLab Runner 15.6 and will be replaced with support for authentication tokens. For more information, see https://docs.gitlab.com/ee/ci/runners/new_creation_workflow
Registering runner... succeeded runner=sQ4W2pCx
Enter an executor: kubernetes, docker, docker-windows, ssh, docker+machine, instance, custom, parallels, shell, virtualbox, docker-autoscaler:
ssh^H^H
ERROR: Invalid executor specified
Enter an executor: parallels, shell, virtualbox, docker-autoscaler, custom, docker-windows, ssh, docker+machine, instance, kubernetes, docker:
sh
sudo gitlab-runner install --user=root --working-directory=/home/gitlab-runner
sudo gitlab-runner start