gitlab快速入门(2)

简介: gitlab快速入门(2)

10. 用户授权(grant user)

用户创建完成后,我们就需要对用户进行授权,从而使用户可以管理仓库,有两种方式,一 是 将用户加入到组,这样用户可以管理组内的仓库;二是 直接授权用户管理仓库。通常我们采用的方式是将用户加入到相应的组,并赋予不同的角色。Gitlab中用户的角色是系统定义好的,不能更改,这一点可能不符合我们正常的思维习惯。

下面将刚创建好的nqt用户添加到xmlgrg_test组,并赋予developer的权限

在管理员区域、点击创建的组,进入组管理界面

1832b220aa754cd18c504acc7686a560.png

选择用户、给予权限,点击添加

1832b220aa754cd18c504acc7686a560.png

添加成功

1832b220aa754cd18c504acc7686a560.png

相应权限的官方文档说明:https://docs.gitlab.com/ee/user/permissions.html

11. 创建仓库create project

在gitlab中,创建project用来存储你的程序代码、作为一个问题的跟踪器、用于代码协作、用于持续集成中的构建、测试和部署等服务。

在管理员区域点击New project

1832b220aa754cd18c504acc7686a560.png

填写新建仓库的信息

1832b220aa754cd18c504acc7686a560.png

创建完成后页面有这2个提示、先不要管

仓库的管理页面左侧为仓库操作的相关菜单栏、右侧空仓库下显示如何在命令行连接该仓库、非空时显示仓库内容

1832b220aa754cd18c504acc7686a560.png

Command line instructions
Git global setup
# git config --global user.name "Administrator"
# git config --global user.email "admin@example.com"
Create a new repository
# git clone http://192.168.137.100/xmlgrg_test/xm.git
# cd xm
# touch README.md
# git add README.md
# git commit -m "add README"
# git push -u origin master
Existing folder
# cd existing_folder
# git init
# git remote add origin http://192.168.137.100/xmlgrg_test/xm.git
# git add .
# git commit -m "Initial commit"
# git push -u origin master
Existing Git repository
# cd existing_repo
# git remote rename origin old-origin
# git remote add origin http://192.168.137.100/xmlgrg_test/xm.git
# git push -u origin --all
# git push -u origin --tags

将仓库加入到组后,组内的成员就可以看到该仓库

使用nqt用户登录。可以看到仓库xm

1832b220aa754cd18c504acc7686a560.png

12. 配置ssh key

仓库是私有的,只有授权的用户才可以访问该仓库,那么只要客户端的用户与我们gitlab的用户绑定,客户端即可访问到gitlab上的仓库,建议使用ssh方式实现客户端与gitlab用户的绑定,具体配置如下:

在客户端生成ssh密钥对(注意 windows客户端下只能使用rsa加密方式)


在192.168.211.90 ,gitlab的服务器上

切换到运行gitlab的用户下,我这里直接使用的是服务器的root用户

# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
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:TPquDQ/XGM5zBefa86ZCfKiGLh8aWHWbbVEdV06etUM root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
|            ...E*|
|           .  o=+|
|      . o o .  +o|
|     . = + =    .|
|    . . S.o.o    |
|   o   + =++.    |
|  . . +.Bo+.o    |
|    .o.Ooo.  o.  |
|    .++o+  ..o.  |
+----[SHA256]-----+
# ll /root/.ssh/
总用量 8
-rw------- 1 root root 1679 5月   2 17:07 id_rsa
-rw-r--r-- 1 root root  408 5月   2 17:07 id_rsa.pub
# cat /root/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDC9rQr5/sh7EJGMmScIJnyG+vWaXpjibA4i81ik14pdyeV80CYTmV7h38fYSKbsGI+MeQX8euvsqveGhNqJsNvTSNm/c5aoHudY6vNrvVkP1SM1gIsdgGb8I2uJeQBPi
KftLnWashuO85vKiZ5hmv9THMW/Zn1NhiCuh3Ixj2PqEiUGxLLMb4NltJSoJOrOkKYZKd6FyLqXoLNJ9QN/m8uCHgS2vlTa7wvNIOZwAQnZ3Rx95dSusosUDHzfwBeMkCuNQpcP2kkQ2E6r+oi+zAlW/q6sUhHQzg0t1zat8IgEpJi3cu0TJRrdAnjNLlSL4Ue+RpmRrwoKs/gUgmrdIlZ root@localhost.localdomain

将该用户与gitlab的root用户绑定

点击gitlab用户的图标、找到setting

1832b220aa754cd18c504acc7686a560.png

进入到用户的设置页面、点击左侧菜单栏的ssh keys

这个页面还可以设置用户的其它信息

1832b220aa754cd18c504acc7686a560.png

Ssh的配置页面

此处只能添加公钥,注意、一个公钥在整个gitlab系统中只能添加一次,但是一个gitlab用户可以添加多个公钥

1832b220aa754cd18c504acc7686a560.png

13. 推送本地客户端仓库到gitlab

yum install -y git
git --version


设置本仓库的global级别信息

# git config --global user.name quntao
# git config --global user.email xmlgrg@163.com
# git config --list
user.name=quntao
user.email=xmlgrg@163.com

创建一个空仓库

# pwd
/data/git_test
# git init
初始化空的 Git 版本库于 /data/git_test/.git/
# ll -a
总用量 0
drwxr-xr-x 3 root root  18 5月   2 20:09 .
drwxr-xr-x 3 root root  22 5月   2 20:09 ..
drwxr-xr-x 7 root root 119 5月   2 20:09 .git

设置过滤文件

有了仓库,我们便可以在git_test文件夹下的工作区做文件的增删修改工作了,但很多时候,我们只在意开发过程中的源文件,并不需要管理自动产生的其它临时文件。这时候便需要一个过滤文件,在这个文件中设置过滤规则,让git能够自动过滤掉那些临时文件,这个文件便是.gitignore文件。

在仓库目录下创建.gitignore文件

# pwd
/data/git_test
# touch .gitignore
# vim .gitignore 
# cat .gitignore 
test.txt
/test/
*.txt
  • test.txt //过滤test.txt文件
  • /test/ //过滤test目录
  • *.txt //过滤所有以.txt结尾的文件

常用的通配规则:

  • 以斜杠“/”开头表示目录
  • 以星号“*”通配说个字符
  • 以问号“”通配单个字符
  • 以方括号”[]“包含单个字符的匹配列表
  • 以叹号“”表示不忽略(跟踪)匹配到的文件或目录
# touch a
# touch b
# touch c
# git add a
# git add b
# git add c
# git commit -m "commit a"     //"commit a" 提交版本的描述信息
[master(根提交) 4141cd7] commit a
 3 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 a
 create mode 100644 b
 create mode 100644 c

推送本地客户端仓库到gitlab中

# pwd
/data/git_test
# git remote add gitlab git@192.168.137.100:xmlgrg_test/xm.git

您在 /var/spool/mail/root 中有新邮件

# git remote
gitlab
# ll -a
总用量 4
drwxr-xr-x 3 root root  63 5月   2 20:19 .
drwxr-xr-x 3 root root  22 5月   2 20:09 ..
-rw-r--r-- 1 root root   0 5月   2 20:19 a
-rw-r--r-- 1 root root   0 5月   2 20:19 b
-rw-r--r-- 1 root root   0 5月   2 20:19 c
drwxr-xr-x 8 root root 166 5月   2 20:25 .git
-rw-r--r-- 1 root root  22 5月   2 20:14 .gitignore
# git push -u gitlab master
The authenticity of host '192.168.137.100 (192.168.137.100)' can't be established.
ECDSA key fingerprint is SHA256:zUU81Kb1Q5uS1ewufeZ1qLyErPI0uOyIhEmOabssXoE.
ECDSA key fingerprint is MD5:1a:bc:a7:24:e7:f6:ce:4e:d3:df:56:ac:4a:e2:a5:3c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.137.100' (ECDSA) to the list of known hosts.
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 203 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@192.168.137.100:xmlgrg_test/xm.git
 * [new branch]      master -> master

分支 master 设置为跟踪来自 gitlab 的远程分支 master。

提示推送成功,我们在gitlab上的xm仓库上可以看到推送上来的内容

1832b220aa754cd18c504acc7686a560.png

相关文章
|
Kubernetes Java API
实践分享!GitLab CI/CD 快速入门
本文给大家讲述如何使用 GitLab CI/CD 构建、测试、部署 Spring Boot 应用,将产物运行在 Rainbond 上。
|
JavaScript Shell 开发工具
gitlab快速入门(3)
gitlab快速入门(3)
gitlab快速入门(3)
|
jenkins Shell 持续交付
gitlab快速入门(1)
gitlab快速入门(1)
gitlab快速入门(1)
|
8月前
|
Linux 应用服务中间件 网络安全
linux安装Gitlab
linux安装Gitlab
183 0
|
5月前
|
Shell Docker 容器
GitlabCI学习笔记之一:安装Gitlab和GitLabRunner
GitlabCI学习笔记之一:安装Gitlab和GitLabRunner
|
4月前
|
Docker 容器
Docker安装Gitlab和Gitlab-Runner并实现项目CICD
Docker安装Gitlab和Gitlab-Runner并实现项目CICD
|
6月前
|
Devops 持续交付 开发工具
入职必会-开发环境搭建54-GitLab下载和安装
GitLab 是一个基于 web 的 Git 仓库管理工具,提供了代码托管、版本控制、协作开发、持续集成等功能,是一个综合的 DevOps 平台。用户可以使用 GitLab 托管他们的代码仓库,并利用其丰富的功能来管理和协作开发项目。 以下是 GitLab 的一些主要特点和功能。
入职必会-开发环境搭建54-GitLab下载和安装
|
5月前
|
Ubuntu 安全 网络安全
在Ubuntu 16.04上安装和配置GitLab的方法
在Ubuntu 16.04上安装和配置GitLab的方法
89 0
|
5月前
|
存储 Ubuntu 安全
在Ubuntu 18.04上安装和配置GitLab的方法
在Ubuntu 18.04上安装和配置GitLab的方法
113 0
|
5月前
|
缓存 Kubernetes Shell
CI/CD:安装配置Gitlab Runner
CI/CD:安装配置Gitlab Runner
409 0