GitLab的安装及基本使用

一、GitLab的安装与配置

方式一:
(1)配置yum源
vim /etc/yum.repos.d/gitlab-ce.repo
复制以下内容:
使用的是清华大学镜像仓库

[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

(2)更新本地yum缓存

sudo yum makecache

(3)安装GitLab社区版

sudo yum install gitlab-ce #自动安装最新版
sudo yum install gitlab-ce-x.x.x #安装指定版本

方式二:
到gitlab官网下载安装包到本地安装
地址:https://packages.gitlab.com/gitlab/gitlab-ce
这里使用方式二安装,版本是gitlab-ce-11.3.11

[root@centos7 ~]# ls
anaconda-ks.cfg  gitlab-ce-11.3.11-ce.0.el7.x86_64.rpm  initial-setup-ks.cfg  original-ks.cfg

1、安装

[root@centos7 src]# yum install -y gitlab-ce-11.3.11-ce.0.el7.x86_64.rpm

在这里插入图片描述2、gitlab 配置

[root@centos7 src]# vim /etc/gitlab/gitlab.rb
[root@centos7 src]# grep "^[a-Z]" /etc/gitlab/gitlab.rb
external_url 'http://192.168.239.132'
##一下部分用于配置邮件服务
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "132xxxx950@.com"  ##自己的qq邮箱账号
gitlab_rails['smtp_password'] = "xxxx"  ##开通smtp时返回的授权码
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"   
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['gitlab_email_from'] = "132xxxx950@qq.com"  ##指定发送邮件的邮箱地址
user["git_user_email"] = "132xxxx950@qq.com"   ##指定接收邮件的邮箱地址

3、初始化服务
修改好配置文件后,使用gitlab-ctl reconfigure命令重载一下配置文件。

[root@centos7 ~]# gitlab-ctl reconfigure

在这里插入图片描述启动服务

[root@centos7 ~]#  gitlab-ctl start
ok: run: alertmanager: (pid 8000) 137s
ok: run: gitaly: (pid 7951) 139s
ok: run: gitlab-monitor: (pid 7970) 138s
ok: run: gitlab-workhorse: (pid 7931) 140s
ok: run: logrotate: (pid 7206) 360s
ok: run: nginx: (pid 7187) 367s
ok: run: node-exporter: (pid 7278) 347s
ok: run: postgres-exporter: (pid 8024) 136s
ok: run: postgresql: (pid 6887) 456s
ok: run: prometheus: (pid 7985) 137s
ok: run: redis: (pid 6812) 468s
ok: run: redis-exporter: (pid 7420) 320s
ok: run: sidekiq: (pid 7143) 379s
ok: run: unicorn: (pid 7100) 385s

查看gitlab的状态信息,可以看到运行了好多服务。

[root@centos7 ~]# gitlab-ctl status
run: alertmanager: (pid 8000) 2331s; run: log: (pid 8032) 2329s
run: gitaly: (pid 7951) 2333s; run: log: (pid 7983) 2331s
run: gitlab-monitor: (pid 7970) 2332s; run: log: (pid 7999) 2331s
run: gitlab-workhorse: (pid 7931) 2334s; run: log: (pid 7972) 2332s
run: logrotate: (pid 7206) 2555s; run: log: (pid 7943) 2334s
run: nginx: (pid 7187) 2562s; run: log: (pid 7973) 2333s
run: node-exporter: (pid 7278) 2542s; run: log: (pid 7984) 2332s
run: postgres-exporter: (pid 8024) 2331s; run: log: (pid 8035) 2330s
run: postgresql: (pid 6887) 2651s; run: log: (pid 7918) 2336s
run: prometheus: (pid 7985) 2332s; run: log: (pid 7990) 2332s
run: redis: (pid 6812) 2663s; run: log: (pid 7926) 2335s
run: redis-exporter: (pid 7420) 2515s; run: log: (pid 8001) 2332s
run: sidekiq: (pid 7143) 2574s; run: log: (pid 7920) 2336s
run: unicorn: (pid 7100) 2580s; run: log: (pid 7919) 2336s

浏览器输入地址,第一次登陆时会有一个更改密码的操作,直接设定一个新密码即可
在这里插入图片描述接着会进入登录/注册页面,一般注册页面后期都会关掉,因为其他人员只要知道地址就能注册账号,只是很不安全的。默认登录用户是root,密码是上面设定的密码。
在这里插入图片描述关闭账号注册,默认情况下可以直接注册账号,因此一般都关闭次功能。
在这里插入图片描述
在这里插入图片描述保存更改
在这里插入图片描述
退出重新登录即可验证是否还有注册选项。

二 、使用教程

1、创建 git 账户
在这里插入图片描述2、创建组
使用管理员 root 创建组,一个组里面可以有多个项目分支,可以将开发添加到组里面进行设置权限,不同的组就是不同的开发项目或者服务模块,不同的组添加不同的开发即可实现对开发设置权限的管理。
在这里插入图片描述
3、管理员创建项目
在这里插入图片描述在这里插入图片描述在这里插入图片描述

在创建好项目之后,页面上跳出提示:“在将SSH密钥添加到个人资料之前,您将无法通过SSH提取或推送项目代码”

在这里插入图片描述
因此,我们还要在gitlab主机上生成密钥对,并导入公钥。(如果不通过ssh方式拉取和推送代码,也可以通过HTTP方式,不过在拉取过程中需要输入用户名和密码)
(1)安装Git工具。

[root@centos7 ~]# yum install git

(2)、生成密钥文件:使用ssh-keygen生成密钥文件.ssh/id_rsa.pub。

[root@centos7 ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:oMjfJQM+twQRdTUvv+WBr1yJ9Fh8YiNt/XrDyLTJAME root@centos7.cwj.com
The key's randomart image is:
+---[RSA 2048]----+
|    oo. o.o      |
|     . . E o     |
|    o .   o .    |
| . o + . . o + . |
|  o + = S . = @ o|
|   . = =   o # *.|
|    . o     O @ .|
|           . O +.|
|            o ...|
+----[SHA256]-----+

[root@centos7 ~]# ll .ssh/ 
总用量 12
-rw------- 1 root root 1679 6   6 10:35 id_rsa
-rw-r--r-- 1 root root  402 6   6 10:35 id_rsa.pub
-rw-r--r-- 1 root root  574 3   8 22:54 known_hosts

(3)把公钥导入到gitlab中,复制公钥并粘贴到指定位置。
在这里插入图片描述
key添加完成
在这里插入图片描述
4、将用户添加到组。
在这里插入图片描述
在这里插入图片描述

5、创建一个测试页面
找到项目界面
在这里插入图片描述在这里插入图片描述

添加一个测试页面
在这里插入图片描述
6、git 客户端测试 clone 项目
根据命令提示,我们需要在gitlab主机上设置一下全局配置。
在这里插入图片描述

[root@centos7 ~]# git config --global user.name "root"
[root@centos7 ~]# git config --global user.email "root@example.com"

克隆项目到本地

[root@centos7 git-project]# git clone git@192.168.239.132:test-service/test-project.git
正克隆到 'test-project'...
The authenticity of host '192.168.239.132 (192.168.239.132)' can't be established.
ECDSA key fingerprint is SHA256:ETZ2hxYcCzc3U0YgZLs8o1YLuFBC+NTweKwRUABJF4w.
ECDSA key fingerprint is MD5:c9:f1:fa:3c:04:a9:7f:cb:10:f5:51:df:79:46:30:a4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.239.132' (ECDSA) to the list of known hosts.
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
接收对象中: 100% (3/3), done.

编辑文件并测试提交:

[root@centos7 test-project]# vim index.html 

<h1>first line</h1>
<h1>second line</h2>

提交测试

[root@centos7 test-project]# git add index.html  ##将文件加入到暂存区
[root@centos7 test-project]# git commit -m "v1"  ##将文件提交到工作区
[master 84a505c] v1
 1 file changed, 2 insertions(+), 1 deletion(-)
[root@centos7 test-project]# git push          ##推送至gitlab仓库中
warning: push.default 未设置,它的默认值将会在 Git 2.0  'matching'
修改为 'simple'。若要不再显示本信息并在其默认值改变后维持当前使用习惯,
进行如下设置:

  git config --global push.default matching

若要不再显示本信息并从现在开始采用新的使用习惯,设置:

  git config --global push.default simple

参见 'git help config' 并查找 'push.default' 以获取更多信息。
'simple' 模式由 Git 1.7.11 版本引入。如果您有时要使用老版本的 Git,
为保持兼容,请用 'current' 代替 'simple' 模式)

Counting objects: 5, done.
Writing objects: 100% (3/3), 262 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@192.168.239.132:test-service/test-project.git
   f53bb92..84a505c  master -> master

git web 端验证数据
在这里插入图片描述

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GitLab是一个开源的代码托管和项目管理平台,它提供了一个完整的 DevOps 工具链,包括版本控制、CI/CD、合并请求等功能。以下是安装使用GitLab基本步骤: **安装GitLab:** 1. **选择安装方式**: - 如果是服务器部署: 可以从GitLab官方网站下载源码包(推荐),或使用Docker容器或 Helm charts。 - 如果是预配置的云服务: 如GitLab.com、GitLab CE/EE 部署在云上,直接登录即可。 2. **源码包安装** (适用于自建服务器): - 安装依赖:确保服务器满足系统要求,例如Ruby、PostgreSQL等。 - 下载并解压GitLab的源码包。 - 运行安装脚本 `./install.sh` 或 `./bin/install.rb`。 - 配置环境变量、设置初始化数据库等。 - 启动GitLab服务。 3. **云服务安装** (如GitLab.com): - 注册账号并创建项目,无须本地安装。 **使用GitLab:** 1. **创建项目**: 登录GitLab Web界面,点击“New Project”,选择私有或公共仓库,填写项目名称、描述等信息。 2. **版本控制**: - 在项目中创建分支:`git checkout -b new_branch`。 - 提交更改:`git add .`, `git commit -m "commit message"`, `git push origin branch_name`。 3. **协作与合并请求**: - 克隆项目到本地:`git clone https://gitlab.com/username/repository.git` - 创建分支并在GitLab上打开PR:`git checkout -b feature_branch`, `git push origin feature_branch` - 在Web界面发起合并请求,等待团队成员审查并合并。 4. **持续集成/持续部署(CI/CD)**: - 编写`.gitlab-ci.yml`文件定义自动化构建流程。 - 配置触发器,如提交、标签等,自动触发构建和部署。 **相关问题**: 1. GitLab有哪些主要功能组件? 2. 如何在GitLab上启用CI/CD? 3. GitLab是如何处理权限和访问控制的? 4. 如何在GitLab上进行高效的团队协作?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值