GitLab是利用Ruby On Rails开发的一个开源版本管理系统,实现了一个自托管的Git项目仓库,是集代码托管,测试,部署于一体的开源git仓库管理软件,可通过web界面来进行访问公开的或私人项目。与Github类似,GitLab能够浏览代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本,并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后需要的时候查找。
注意:
搭建Gitlab时,需要至少4G的内存,否则可能会出现奇妙的错误。
centos7.4,2核4G
1 2 3 4 5 6 7 8 | sudo yum install curl policycoreutils openssh-server openssh-clients sudo systemctl enable sshd sudo systemctl start sshd sudo yum install postfix sudo systemctl enable postfix sudo systemctl start postfix sudo firewall-cmd --permanent --add-service=http sudo systemctl reload firewalld |
---|
1 2 3 4 5 6 7 8 9 10 | curl -sS http://packages.gitlab.com.cn/install/gitlab-ce/script.rpm.sh | sudo bash 这里使用的国内源 vim /etc/yum.repos.d/gitlab_gitlab-ce.repo [gitlab-ce] name=gitlab-ce baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7 repo_gpgcheck=0 gpgcheck=0 enabled=1 gpgkey=https://packages.gitlab.com/gpg.key |
---|
1 2 3 | sudo yum install gitlab-ce #配置并启动 GitLab sudo gitlab-ctl reconfigure |
---|
注意:
在添加镜像源的时候可能会报错,不过不影响下载。
直接访问测试
1 2 3 4 | 下载最新的汉化包,下载目录可以自定义 cd /home/admin git clone https://gitlab.com/xhang/gitlab.git |
---|
1 2 3 4 5 6 | gitlab-ctl stop \cp -a gitlab/* /opt/gitlab/embedded/service/gitlab-rails/ cp: 无法以目录"gitlab/log" 来覆盖非目录"/opt/gitlab/embedded/service/gitlab-rails/log" cp: 无法以目录"gitlab/tmp" 来覆盖非目录"/opt/gitlab/embedded/service/gitlab-rails/tmp" 这个提示不用理会 |
---|
1 2 | gitlab-ctl reconfigure gitlab-ctl restart |
---|
可以使用gitlab-ctl help查看命令帮助,这里说一些常用的
1 2 3 4 5 | gitlab-ctl reconfigure 重新加载配置 gitlab-ctl show-config 查看所有服务配置文件信息 gitlab-ctl uninstall 卸载软件 gitlab-ctl cleanse 删除gitlab数据,重置所有数据 |
---|
1 2 3 4 5 6 7 8 9 10 11 12 | vim /etc/gitlab/gitlab.rb gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.ym.163.com" gitlab_rails['smtp_port'] = 994 gitlab_rails['smtp_user_name'] = "chenfei@clickwise.cn" gitlab_rails['smtp_password'] = "chenfei@2018" gitlab_rails['smtp_domain'] = "chenfei@clickwise.cn" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = true gitlab_rails['gitlab_email_from'] = 'chenfei@clickwise.cn' |
---|
测试邮件发送
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | [root@localhost ~]# gitlab-rails console ------------------------------------------------------------------------------------- GitLab: 11.1.1 (94b9323) GitLab Shell: 7.1.4 postgresql: 9.6.8 ------------------------------------------------------------------------------------- Loading production environment (Rails 4.2.10) irb(main):001:0> Notify.test_email('17600131438@163.com', 'Message Subject', 'test_gitlab_email').deliver_now Notify#test_email: processed outbound mail in 349.0ms Sent mail to 17600131438@163.com (2269.0ms) Date: Thu, 26 Jul 2018 03:24:36 -0400 From: GitLab <fei@devilf.cc> Reply-To: GitLab <noreply@gitlab.example.com> To: 17600131438@163.com Message-ID: <5b597734617a9_56423ff889edaf8c89362@localhost.localdomain.mail> Subject: Message Subject Mime-Version: 1.0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit Auto-Submitted: auto-generated X-Auto-Response-Suppress: All <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body><p>test_gitlab_email</p></body></html> => #<Mail::Message:70336321327620, Multipart: false, Headers: <Date: Thu, 26 Jul 2018 03:24:36 -0400>, <From: GitLab <fei@devilf.cc>>, <Reply-To: GitLab <noreply@gitlab.example.com>>, <To: 17600131438@163.com>, <Message-ID: <5b597734617a9_56423ff889edaf8c89362@localhost.localdomain.mail>>, <Subject: Message Subject>, <Mime-Version: 1.0>, <Content-Type: text/html; charset=UTF-8>, <Content-Transfer-Encoding: 7bit>, <Auto-Submitted: auto-generated>, <X-Auto-Response-Suppress: All>> |
---|