首先简介一下:
git 是由linux之父Linus Torvalds 在2005年开发的一个分布式持续集成工具,设计之初就具备以下优点:
可靠性:数据的上传和下载必须是安全的、一致的,所有行为都要进行验证,数据的变更通过不同的版本进行逻辑隔离;
分布式:git的代码恢复不依赖于中央服务器,而是每个开发电脑都是一个本地仓库,可用于代码提交与回滚;
高效:git基于分布式的功能实现代码的快速提交与秒级回滚;
Github:基于git的一个公有代码仓库,被微软收购;
Gitlab:基于git的一个私有代码仓库。
gitlab 的安装对我们的硬件环境是有要求的,可以查看官方文档:
https://docs.gitlab.com/ce/install/requirements.html #安装环境的要求
对于我们的生产环境来说,磁盘的话能用固态最好,不行的话最少也要做个raid10,其次呢磁盘空间要足够大;
网卡最好万兆,毕竟是公司的核心部分嘛!这个具体根据公司的规模来定就OK了。
gitlab分为付费版ee和社区版ce,我们用社区版就足够了。官网访问慢的话,可以移步国内的镜像站。
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ #国内清华大学的镜像站
安装:
cd /usr/local/src
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.11.8-ce.0.el7.x86_64.rpm
rpm -ivh gitlab-ce-11.11.8-ce.0.el7.x86_64.rpm
安装完后,我们要配置我们的实例,配置一个url,就是暴露我们的gitlib的访问地址;
配置文件里,我们在配置一个邮件告警配置;如果你的服务器不能访问外网,就不需要配置邮件了;
vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.3.10'
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"] = "XXXXXXXXXXXXX"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = :login
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = "[email protected]"
user["git_user_email"] = "[email protected]"
gitlab-ctl reconfigure 我们初次一定要运行这个命令;
gitlab-ctl status 然后运行这个命令,看一下我们都运行起来哪些服务;
]# gitlab-ctl status
run: alertmanager: (pid 3940) 41s; run: log: (pid 3648) 59s
run: gitaly: (pid 3726) 44s; run: log: (pid 2932) 134s
run: gitlab-monitor: (pid 3807) 43s; run: log: (pid 3528) 73s
run: gitlab-workhorse: (pid 3765) 44s; run: log: (pid 3304) 90s
run: logrotate: (pid 3376) 84s; run: log: (pid 3421) 83s
run: nginx: (pid 3287) 90s; run: log: (pid 3335) 89s
run: node-exporter: (pid 3793) 44s; run: log: (pid 3489) 80s
run: postgres-exporter: (pid 3959) 42s; run: log: (pid 3698) 54s
run: postgresql: (pid 2943) 130s; run: log: (pid 3022) 127s
run: prometheus: (pid 3908) 43s; run: log: (pid 3604) 64s
run: redis: (pid 2721) 137s; run: log: (pid 2766) 136s
run: redis-exporter: (pid 3896) 44s; run: log: (pid 3565) 68s
run: sidekiq: (pid 3233) 98s; run: log: (pid 3257) 97s
run: unicorn: (pid 3175) 104s; run: log: (pid 3228) 101s
而后我们就可以打开浏览器打开了,默认会打开80端口;
初次登录它会提示你设置一个密码,设置完成后,登录即可;
root 为管理员登录用户名,密码就是刚赐设置的密码;
Groups:项目
projects:服务
users:就是我们的开发人员;
gitlab-ctl #客户端命令行操作
gitlab-ctl stop #停止gitlab
gitlab-ctl start #启动gitlab
gitlab-ctl restart #重启gitlab
gitlab-ctl status # 查看组件运行状态
gitlab-ctl tail nginx #查看某组件的日志;