本地搭建gitlab环境,配置邮件通知和基本操作

进入gitlab官方网站,选择对应的操作系统——CentOS 6 (and RedHat/Oracle/Scientific Linux 6),按照官方的提示进行安装:

安装配置必要的依赖在Centos 6 和 7 中,以下的命令将会打开HTTP和SSH在系统防火墙中的可访问权限。

sudo yum install openssh-server sudo yum install postfix sudo yum install cronie sudo service postfix start sudo chkconfig postfix on sudo lokkit -s http -s ssh

下载gitlab的rpm包

curl -O

https://downloads-packages.s3.amazonaws.com/centos-6.6/gitlab-7.7.2_omnibus.5.4.2.ci-1.el6.x86_64.rpm

sudo rpm -i gitlab-ce-7.10.0~omnibus.2-1.x86_64.rpm

 

 

配置并启动GitLab


打开/etc/gitlab/gitlab.rb,将external_url = ‘http://git.example.com‘修改为自己的IP地址:http://10.10.10.1,,然后执行下面的命令,对GitLab进行编译。

sudo gitlab-ctl reconfigure

登录GitLab -- Usernameroot Password5iveL!fe

 

配置端口

 

Gitlab 安装包自带了 Nginx,要使用 80 端口对外服务,同时 Unicorn 要使用 8080 端口对内服务但在我们的服务器上这两个端口都已经被占用了因此,解决办法是:修改 Nginx 的默认端口为 9000,指定 Unicorn 的默认端口为 9001,修改 Gitlab-shell 的默认端口为 9001

 

 

配置方式

external_url ‘http://ip_adress:9000‘

unicorn[‘port‘] = 9001

在公司的网络环境中,专线把80端口给禁用了,禁止进行映射,所以端口就改成18080类似这样的端口号。

配置GitLab的默认发信邮箱

GitLab中使用postfix进行邮件发送。因此,可以卸载系统中自带的sendmail
使用yum list installed查看系统中是否存在sendmail,若存在,则使用yum remove sendmail指令进行卸载。

测试系统是否可以正常发送邮件。

echo "Test mail from postfix" | mail -s "Test Postfix" xxx@xxx.com

注:上面的xxx@xxx.com为你希望收到邮件的邮箱地址。

当邮箱收到系统发送来的邮件时,将系统的地址复制下来,如:root@iZ23syflhhzZ.localdomain,打开/etc/gitlab/gitlab.rb,将

# gitlab_rails[‘gitlab_email_from‘] = ‘gitlab@example.com‘ 

修改为

gitlab_rails[‘gitlab_email_from‘] = ‘root@iZ23syflhhzZ.localdomain‘ 

保存后,执行sudo gitlab-ctl reconfigure重新编译GitLab。如果邮箱的过滤功能较强,请添加系统的发件地址到邮箱的白名单中,防止邮件被过滤。

Note:系统中邮件发送的日志可通过`tail /var/log/maillog`命令进行查看。

我在gitlab.rb配置文件中还添加了这样一段

# Use smtp instead of sendmail/postfix.

gitlab_rails[‘smtp_enable‘] = true

gitlab_rails[‘smtp_address‘] = "smtp.exmail.qq.com"

gitlab_rails[‘smtp_port‘] = 25

gitlab_rails[‘smtp_user_name‘] = "需要的邮箱"

gitlab_rails[‘smtp_password‘] = "密码"

gitlab_rails[‘smtp_domain‘] = "smtp.qq.com"

gitlab_rails[‘smtp_authentication‘] = "login"

gitlab_rails[‘smtp_enable_starttls_auto‘] = true

gitlab_rails[‘smtp_tls‘] = false

gitlab_rails[‘smtp_openssl_verify_mode‘] = false

 

由于公司是专线的网络,公网IP在一个ASA的防火墙上,想让外网也访问到我的gitlab网站,需要我做地址的映射,配置过程如下:

static (inside,outside) tcp interface 18089 10.10.10.1 18089 netmask 255.255.255.255 

access-list Out_In extended permit tcp any host 公网IP eq 18089 

这样在外网就访问  http://公网:18089就能访问到gitlab了,在公司内部必须访问内网的IP地址才能访问

参考资料:

http://segmentfault.com/a/1190000002722631

http://www.lenky.info/archives/2014/06/2413   windows上使用gitlab

http://www.tuicool.com/articles/bEz6Vf        gitlab操作手册


文章来自:http://881955.blog.51cto.com/871955/1704631
© 2021 jiaocheng.bubufx.com  联系我们
ICP备案:鲁ICP备09046678号-3