git 学习(1)Ubuntu本地搭建gitlab

git 学习(1)Ubuntu本地搭建gitlab

一:背景

为了进一步学习git的操作和原理,在本地搭建一个gitLab 服务器,以作实验
git gitlab gerrit github 等等的区别和关系?

简单理解,git是一个分布式的代码版本管理软件,相应的还有svn,两者的区别就不再这里赘诉了,而 gitlab, gierrit, github都是一git作为基础,扩展其他功能开发而来,支持网页web访问,有了这个gitlab或者gerrit、github,我们可以通过网页访问。

个人工作过的公司,有小公司使用svn,有大公司使用gerrit的,也有正在使用gitlab的,使用svn的不支持离线,似乎功能也不如git这么强大,使用gerrit的时候个人也只是使用git的基本的一些命令,例如 git add,commit,--amend,stash等等,这里就先以gitlab为基础,搭个环境。
#vm 虚拟机+Ubuntu 20

gitlab,有两个版本,CE(community 社区版,free), EE(enterprise企业版),个人的话当然选择免费的ce版本 ,csdn上不少中文教程,偏偏我又想从官方去找原版指导文档,最后结合了官方原文档和各种版本的中文教程,成功搭建gitlab


最后来看,gitlab 是以git为基础,添加了网页服务器,可以提供网页登录,操作管理仓库,权限,合代码则是利用多分支,从一个开发分支合并到主干分支,普通用户不能直接往远程仓库的主干分支直接推送代码,所以一般只能创建一个临时开发分支,每次提交以一个MR merge request 合码请求为单位,并且支持触发自动化测试(ci), 审核之后将这个临时开发分支的代码merge到远程仓库的主干分支。

而Gerrit, 则是另一番原理。 以仓库为单位的,在真实远程仓库和用户仓库之间加了一个gerrit服务器的仓库,可以看做是一个过渡,待审核的仓库,用户无法跨过这个gerrit仓库直接往远程仓库上推送代码,只能先push到这个gerrit仓库,经过中间仓库审核确认允许,后续才会正正推送到远程仓库。

二:官方原文档

gitlab官方安装指导文档:
Download and install GitLab|GitLab
通过官网一步步跳转找到: 官网的底部 install 中就有介绍。
git 学习(1)Ubuntu本地搭建gitlab_第1张图片


git 学习(1)Ubuntu本地搭建gitlab_第2张图片

三:翻译记录下我的安装启动过程:

1.0 首先安装一些必要的依赖软件功能

#sudo apt-get update
#sudo apt-get install -y curl openssh-server ca-certificates tzdata perl
这个postfix, 和邮件相关的一个功能,不管有用无用还是给它一起装了,命令安装的时候会弹出配置选择框,安装原文档说明的选择一下即可,基本默认选择。

2.0 添加gitlab的软件源,然后就可以用apt-get install 安装gitlab了。

#curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
(自作主张把原文档里面的 gitlab-ee给换成gitlab-ce了)
#sudo apt-get install gitlab-ce
完成安装:git 学习(1)Ubuntu本地搭建gitlab_第3张图片

四:接下来怎么操作刚安装好的这个gitlab软件?

3. 配置 

上面安装完成的提示就有说明,you can start your Gitlab instance by running the following command: sudo gitlab-ctl reconfigure
#gitlab-ctl reconfigure

附上GitLab常用命令:


常用命令
说明
sudo gitlab-ctl reconfigure 重新加载配置,每次修改/etc/gitlab/gitlab.rb文件之后执行
sudo gitlab-ctl status 查看 GitLab 状态
sudo gitlab-ctl start 启动 GitLab
sudo gitlab-ctl stop 停止 GitLab
sudo gitlab-ctl restart 重启 GitLab
sudo gitlab-ctl tail 查看所有日志
sudo gitlab-ctl tail nginx/gitlab_acces.log 查看 nginx 访问日志
sudo gitlab-ctl tail postgresql 查看 postgresql 日志

基本使用默认配置,不去修改什么 /etc/gitlab/gitlab.rd配置。 什么改端口啊,80端口映射啊,都没有操作。

4.0 reconfigure之后,启动gitlab

#sudo gitlab-ctl restart  或者 gitlab-ctl start
#sudo gitlab-ctl status  //看下状态

五:怎么登陆使用网页界面?

默认等于地址,直接在浏览器输入 虚拟机的ip地址。(没有什么http的前缀)。我们期望登陆的是默认的管理员账号,据说默认就是 系统的root 账号,结果碰到了点麻烦,个人在装这个Ubuntu的时候也没有设置过root账号的密码啊,然后使用sudo  passwd root  设置了一个简单的密码 ”1“, 结果还是无法通过 root + 1登陆。 直接在界面的register 注册了个新的账号(本地这个gitlab服务) ,然后使用这个新账号登陆会提示,注册是成功了,但是需要管理员的批准。。。。

6.0 在Ubuntu上修改gitlab 管理员账号的密码 

 抄一波:原文链接:https://blog.csdn.net/HYZX_9987/article/details/119929043

 gitlab-rails console -e production

user = User.where(username:"root").first

user.password = "新密码"

user.password_confirmation ="再次确认密码"

user.save!
————————————————
版权声明:本文为CSDN博主「_七里香」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/HYZX_9987/article/details/119929043
看样子这类似于一个sql修改数据库一样的命令操作,这里还要求密码必须至少8个字符。  (个人用的sudo -i root权限运行命令gitlab-rails console  production,需要加上-e参数)

 7.0通过刚刚修改的管理员账号和密码来登陆了,可以在里面ap 批准其他账号的操作git 学习(1)Ubuntu本地搭建gitlab_第4张图片

Approve 用户注册,新的用户就可以登陆。
git 学习(1)Ubuntu本地搭建gitlab_第5张图片

剩下的事情,就是添加ssh key ,git仓库了的操作了。
demo环境搭建完 

你可能感兴趣的:(git,git,gitlab)