23recfv 发表于 2015-10-21 12:58:53

本地搭建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 -Ohttps://downloads-packages.s3.amazonaws.com/centos-6.6/gitlab-7.7.2_omnibus.5.4.2.ci-1.el6.x86_64.rpmsudo 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 -- Username: root Password: 5iveL!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'] = truegitlab_rails['smtp_address'] = "smtp.exmail.qq.com"gitlab_rails['smtp_port'] = 25gitlab_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'] = truegitlab_rails['smtp_tls'] = falsegitlab_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地址才能访问
页: [1]
查看完整版本: 本地搭建gitlab环境,配置邮件通知和基本操作