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访问,页面如下图所示:

相关推荐
Youkiup20 分钟前
【linux 常用命令】
linux·运维·服务器
qq_2975046123 分钟前
【解决】Linux更新系统内核后Nvidia-smi has failed...
linux·运维·服务器
_oP_i29 分钟前
.NET Core 项目配置到 Jenkins
运维·jenkins·.netcore
weixin_4373982136 分钟前
Linux扩展——shell编程
linux·运维·服务器·bash
小燚~39 分钟前
ubuntu开机进入initramfs状态
linux·运维·ubuntu
小林熬夜学编程1 小时前
【Linux网络编程】第十四弹---构建功能丰富的HTTP服务器:从状态码处理到服务函数扩展
linux·运维·服务器·c语言·网络·c++·http
上海运维Q先生1 小时前
面试题整理15----K8s常见的网络插件有哪些
运维·网络·kubernetes
hhhhhhh_hhhhhh_1 小时前
ubuntu18.04连接不上网络问题
linux·运维·ubuntu
冷心笑看丽美人1 小时前
探秘 DNS 服务器:揭开域名解析的神秘面纱
linux·运维·服务器·dns
wenxiaocsdn1 小时前
某科技局国产服务器PVE虚拟化技术文档
运维·服务器