Gitlab
Gitlab介绍
我们了解了git是以个人为中心,但是人人都得数据交互呀。。python程序员每天都忙着进行py交易
交互数据的方式
- 使用github或者码云等公有代码仓库,托管代码的地方,谁都可以看
- 公司内部使用gitlab私有仓库
github和gitlab的区别
- github国外公共仓库不安全,国内的码云代码仓库,可能会暴露自己公司代码机密,等着被开除吧。。
- 自建gitlab私有代码仓库,更加安全
- 从代码私有性方面来看,公司不希望员工随意获取全部代码,使用Gitlab无疑是最好的选择
- 若是开源项目,Github还是代码托管的首选平台。
Gitlab是一个开源分布式的版本控制系统,由Ruby语言开发,Gitlab主要实现的功能、管理项目源代码、对源代码进行版本控制,以及源代码的复用和查找。
Gitlab优势和应用场景:
- 开源免费,搭建简单,维护成本低,适合中小型公司。
- 权限管理,实现代码对部分人可见,确保醒目安全性。
- 离线同步,保证我们不需要依赖于网络环境进行代码提交(代码本地仓库管理然后推到远程仓库)
Gitlab安装配置
环境准备
操作系统centos7
内存:2G及以上
磁盘:50G
安全:关闭防火墙,selinux
1.安装GItlab所需的依赖包
yum install curl policycoreutils-python openssh-server postfix wget -y
2.安装gitlab,可以在线装,也可以安装本地准备好的rpm包,如果没有找超哥要
[root@teach_linux1 opt]# yum localinstall git gitlab-ce-10.2.2-ce.0.el7.x86_64.rpm
3.配置gitlab服务,修改域名和邮箱
[root@teach_linux1 opt]# grep -Ev '^#|^$' /etc/gitlab/gitlab.rb
# 需要修改配置文件,换成你自己的服务器地址就好
external_url 'http://192.168.178.130'
# 配置邮箱,打开注释,修改配置,注意别改错了,否则将无法收到邮件
### Email Settings
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = '[email protected]'
gitlab_rails['gitlab_email_display_name'] = 'josen_gitlab'
## email server settings
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "[email protected]"
# 填写网易邮箱的授权码
gitlab_rails['smtp_password'] = "网易邮箱授权码"
gitlab_rails['smtp_domain'] = "smtp.163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
4.可以进入gitlab命令行,测试邮件收发是否正常
执行gitlab的配置重新读取
[root@teach_linux1 opt]# gitlab-ctl reconfigure
[root@teach_linux1 opt]# gitlab-rails console
Loading production environment (Rails 4.2.8)
irb(main):001:0>
irb(main):002:0*
irb(main):003:0*
irb(main):004:0> Notify.test_email('[email protected]','hello','hello josen').deliver_now
Notify#test_email: processed outbound mail in 148.3ms
Sent mail to [email protected] (9658.2ms)
Date: Fri, 07 May 2021 21:05:10 +0800
From: josen_gitlab <[email protected]>
Reply-To: josen_gitlab <[email protected]>
To: [email protected]
Message-ID: <60953b0662df3_b8ed3f9d15edb1146765@teach_linux1.mail>
Subject: hello
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>hello josen</p></body></html>
=> #<Mail::Message:69943488726180, Multipart: false, Headers: <Date: Fri, 07 May 2021 21:05:10 +0800>, <From: josen_gitlab <[email protected]>>, <Reply-To: josen_gitlab <[email protected]>>, <To: [email protected]>, <Message-ID: <60953b0662df3_b8ed3f9d15edb1146765@teach_linux1.mail>>, <Subject: hello>, <Mime-Version: 1.0>, <Content-Type: text/html; charset=UTF-8>, <Content-Transfer-Encoding: 7bit>, <Auto-Submitted: auto-generated>, <X-Auto-Response-Suppress: All>>
irb(main):005:0>
<