在 CentOS 上搭建 GitLab 并配置 IDE 的集成开发环境
一 环境准备与安装 GitLab
sudo yum -y install curl policycoreutils openssh-server openssh-clients postfixsudo systemctl enable --now sshd postfixsudo firewall-cmd --permanent --add-service=https --add-service=http && sudo firewall-cmd --reloadcurl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bashsudo yum install -y gitlab-cesudo vim /etc/gitlab/gitlab.rb,设置 external_url 'http://<服务器IP或域名>'sudo gitlab-ctl reconfigurehttp://<服务器IP或域名>,首次登录设置 root 密码docker run --detach \
--hostname gitlab.example.com \
--publish 8080:80 --publish 443:443 --publish 2222:22 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
二 客户端与认证配置
sudo yum install -y gitgit config --global user.name "Your Name" 与 git config --global user.email "you@example.com"ssh-keygen -t rsa -b 4096 -C "you@example.com"(默认路径 ~/.ssh/id_rsa)cat ~/.ssh/id_rsa.pub,在 GitLab 个人设置 → SSH Keys 中粘贴ssh -T git@<gitlab-host>(首次需确认指纹)git clone git@<gitlab-host>:namespace/project.gitexternal_url 与 Nginx 监听端口后执行 gitlab-ctl reconfigure三 IDE 集成与日常开发工作流
git 路径并 Test.gitignore(如 Java/Maven:target/, .idea/, *.iml),避免提交构建产物与 IDE 配置四 邮件通知与 CI 集成
/etc/gitlab/gitlab.rb:gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "your@qq.com"
gitlab_rails['smtp_password'] = "授权码"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_tls'] = true
gitlab_email_from = 'your@qq.com'
sudo gitlab-ctl reconfiguregitlab-rails console → Notify.test_email('to@xx.com','主题','内容').deliver_now