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

相关推荐
钡铼技术物联网关9 分钟前
Codesys 与 ARMxy ARM 工业控制器:工业控制的黄金组合
linux·运维·服务器·arm开发·硬件工程
向往风的男子42 分钟前
【devops】devops-gitlab之部署与日常使用
运维·gitlab·devops
soaring012144 分钟前
Gitlab实现多项目触发式自动CICD
pipeline·gitlab·triggers·access tokens
geekrabbit3 小时前
机器学习和深度学习的区别
运维·人工智能·深度学习·机器学习·浪浪云
楠神说软件测试4 小时前
接口自动化框架入门(requests+pytest)
运维·数据库·自动化
学习3人组4 小时前
克隆centos网卡uuid相同如何修改
linux·运维·centos
小ᶻᶻᶻᶻᶻ5 小时前
DevOps工程师的职业发展路径
运维·devops
ZhangTao_zata5 小时前
ubuntu安装wordpress(基于LNMP环境)
linux·运维·ubuntu
悟空20165 小时前
001、Git开发流程规范
git
Li小李同学Li5 小时前
git学习【持续更新中。。。】
git·学习·elasticsearch