Gitlab安装配置

gitlab

git是一个分布式的代码版本管理软件。用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

1.版本控制

是指对软件开发过程中各种程序代码,配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。

2.常用的版本控制工具:

Git:是分布式版本控制系统,它没有中央服务器,每个人的电脑就是一个完整的版本库,这样工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。(Linux)

SVN: 是一个集中式开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。集中管理方式在一定程度上看到其他开发人员在干什么,而管理员也可以很轻松掌握每个人的开发权限。(Win)

3.git、gitlab、GitHub的简单区别

git 是一种基于命令的版本控制系统,全命令操作,没有可视化界面

gitlab 是一个基于git实现的在线代码仓库软件,提供web可视化管理界面,通常用于企业团队内部协作开发

github 是一个基于git实现的在线代码托管仓库,亦提供可视化管理界面,同时免费账户和提供付费账户,提供开放和私有的仓库,大部分的开源项目都选择github作为代码托管仓库

4.gitlab 安装

bash 复制代码
GitLab常用命令
sudo gitlab-ctl start    # 启动所有 gitlab 组件;
sudo gitlab-ctl stop        # 停止所有 gitlab 组件;
sudo gitlab-ctl restart        # 重启所有 gitlab 组件;
sudo gitlab-ctl status        # 查看服务状态;
sudo gitlab-ctl reconfigure        # 启动服务;
sudo vim /etc/gitlab/gitlab.rb        # 修改默认的配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace    # 检查gitlab;
sudo gitlab-ctl tail        # 查看日志;

安装依赖包

bash 复制代码
yum -y install epel-release
yum -y install git curl openssh-server openssh-clients postfix cronie policycoreutils-python 

启动postfix服务(邮件服务)并设置开机自启

bash 复制代码
systemctl restart postfix
systemctl enable postfix
cd /usr/src/
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.2.1-ce.0.el7.x86_64.rpm

安装gitlab

bash 复制代码
rpm -ivh gitlab-ce-11.2.1-ce.0.el7.x86_64.rpm

修改配置文件

bash 复制代码
vim /etc/gitlab/gitlab.rb

external_url 'http://192.168.99.121'
#将此处设为gitlab的服务器IP地址或者域名

重载配置文件并重启gitlab

bash 复制代码
gitlab-ctl reconfigure
gitlab-ctl restart

查看当前的gitlab版本

bash 复制代码
head -1 /opt/gitlab/version-manifest.txt 

设置管理员密码

1.重置root密码之前,需先使用root用户登录到gitlab所在服务器。并且进入gitlab容器中,使用以下命

令启动Ruby on Rails控制台。

bash 复制代码
gitlab-rails console -e production

2.等待控制台加载完毕,有多种找到用户的方法,您可以搜索电子邮件或用户名。

bash 复制代码
user = User.where(id: 1).first

或者

bash 复制代码
user = User.find_by(email:'admin@example.com')

3.现在更改密码(至少8位)。

bash 复制代码
user.password = '新密码'
bash 复制代码
user.password_confirmation = '新密码'

4.注意,必须同时更改密码和password_confirmation才能使其正常工作,最后别忘了保存更改。

bash 复制代码
user.save
bash 复制代码
[root@xcz742 src]# gitlab-rails console -e production
-------------------------------------------------------------------------------------
 GitLab:       11.2.1 (2d6c1c6)
 GitLab Shell: 8.1.1
 postgresql:   9.6.8
-------------------------------------------------------------------------------------
Loading production environment (Rails 4.2.10)
irb(main):001:0> user = User.where(id: 1).first
=> #<User id:1 @root>
irb(main):002:0> user.password = 'xcz12345'
=> "xcz12345"
irb(main):003:0> user.password_confirmation = 'xcz12345'
=> "xcz12345"
irb(main):004:0> user.save
Enqueued ActionMailer::DeliveryJob (Job ID: fa5f65fe-c200-4b7b-bc5e-b5f14f01598f) to Sidekiq(mailers) with arguments: "DeviseMailer", "password_change", "deliver_now", gid://gitlab/User/1
=> true

5.gitlab管理

在浏览器中使用gitlab服务器的IP访问,页面如下图所示:

相关推荐
海阔天空_20135 分钟前
Python pyautogui库:自动化操作的强大工具
运维·开发语言·python·青少年编程·自动化
桥田智能8 分钟前
气爪在自动化装配线中是如何应用的?
运维·自动化
€☞扫地僧☜€2 小时前
docker 拉取MySQL8.0镜像以及安装
运维·数据库·docker·容器
其乐无涯2 小时前
服务器技术(一)--Linux基础入门
linux·运维·服务器
Diamond技术流2 小时前
从0开始学习Linux——网络配置
linux·运维·网络·学习·安全·centos
写bug的小屁孩2 小时前
前后端交互接口(三)
运维·服务器·数据库·windows·用户界面·qt6.3
斑布斑布2 小时前
【linux学习2】linux基本命令行操作总结
linux·运维·服务器·学习
紅色彼岸花2 小时前
第六章:DNS域名解析服务器
运维·服务器
✿ ༺ ོIT技术༻2 小时前
Linux:认识文件系统
linux·运维·服务器
研究是为了理解2 小时前
Git Bash 常用命令
git·elasticsearch·bash