GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用。
gitlab管理命令:
gitlab-ctl stop
gitlab-ctl start
gitlab-ctl restart
第一步:上传安装包
[root@ryan ~]# rz
rz waiting to receive.
Starting zmodem transfer. Press Ctrl+C to cancel.
Transferring gitlab-ce-8.9.5-ce.0.el7.x86_64.rpm...
100% 270635 KB 6443 KB/sec 00:00:42 0 Errors
[root@ryan ~]# ls | grep gitlab
gitlab-ce-8.9.5-ce.0.el7.x86_64.rpm
[root@ryan ~]#
第二步:使用yum安装
[root@ryan ~]# yum -y install gitlab-ce-8.9.5-ce.0.el7.x86_64.rpm
第三步:修改配置文件
[root@ryan ~]# vim /etc/gitlab/gitlab.rb
...
## Url on which GitLab will be reachable.
## For more details on configuring external_url see:
## https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/configuration.md#configuring-the-external-url-for-gitlab
external_url 'http://192.168.30.151' #将此处的主机名修改为本机ip即可
## Note: configuration settings below are optional.
## Uncomment and change the value.
############################
# gitlab.yml configuration #
############################
...
第四步:使配置生效
需等待一定的时间
[root@ryan ~]# gitlab-ctl reconfigure
...
Running handlers:
Running handlers complete
Chef Client finished, 224/314 resources updated in 02 minutes 12 seconds
gitlab Reconfigured!
第五步:浏览器初始化登录gitlab
修改后跳转到新登录页面
登录gitlab
第一步:创建工作目录
[root@ryan ~]# mkdir lab1
[root@ryan ~]# cd lab1/
[root@ryan lab1]#
第二步:从web仓库中下载项目
进入到工作目录之下,即包含.git的目录
[root@ryan lab1]# git clone http://192.168.30.151/test/testgit.git
Cloning into 'testgit'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.
[root@ryan lab1]# ls
testgit
[root@ryan lab1]# cd testgit/
[root@ryan testgit]# ls -a
. .. .git
第三步:创建新的分支
[root@ryan testgit]# git branch
* master
[root@ryan testgit]# git branch dev
[root@ryan testgit]# git checkout dev
Switched to branch 'dev'
第四步:创建测试文件并上传
[root@ryan testgit]# echo "test55555">test.file
[root@ryan testgit]# git add .
[root@ryan testgit]# git commit -m "test.file"
[master e9847f2] test.file
1 file changed, 1 insertion(+)
create mode 100644 test.file
[root@ryan testgit]# git push origin dev
Username for 'http://192.168.30.151': root
Password for 'http://[email protected]':
Everything up-to-date
[root@ryan testgit]#
我们每次登录都要输入用户名和密码很麻烦,这里我们使用免秘钥登录
第一步:查看web端gitlab的秘钥地址
第二步:在本机生成秘钥文件并查看公钥
[root@ryan testgit]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y
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:J4ISfAGTNFrAmGKyIOdOURCBWFoEtJsrE19IHMKu+aE root@ryan
The key's randomart image is:
+---[RSA 2048]----+
|XX#Bo |
|X%=+ . |
|X==.. |
|.o=+ . |
|o*o o . S . |
|oo+o . o |
|o+.. |
|E.. |
| |
+----[SHA256]-----+
[root@ryan testgit]# cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC328mFkSkstmMldykkwn5xT/KwMkIyohraA+TKSBtLEezusAG4Wl9ZzQ6iOs2HZTJ+nYpRzXeMgqWo3KS/3Fxtrh1ZhqGuGXyCfczn9jsNkV4tbWZkmfbIdC15Bui2NlK+PzL8n3MEbntKjK7q3MDiCZggFImTtj9zWV/39PV0L+zprV05IGCW52azHNpWGq/lLE4O7PwhE0etCwvAHTG/Z0wHp3ILdaXSNxGjWdPtLQv1DN3ksQdbJijgjA/HXYbxy3IaNCykR5vUAEKuS8N3B7lOrWLfl0b+18+WG/2i5i94dbvVGAO4aGHGd3+H2UavV1dWm2/DazwYkIJbcS1x root@ryan
第三步:点击提交之后再次下载仓库信息
注意这里git clone之后写的是ssh的信息,不是http的连接信息了
回车之后可以看到没有输入任何东西就直接下载完成
[root@ryan ~]# mkdir ll
[root@ryan ~]# cd ll
[root@ryan ll]# git clone [email protected]:test/testgit.git
Cloning into 'testgit'...
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 6 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (6/6), done.
Checking connectivity... done.
第一步:下载gitlab客户端工具
第二步:安装gitlib
选择自己想要安装的目录和上图的选择,剩下默认即可下一步安装。
第四步:生成秘钥信息,进行免密登录
输入ssh-keygen一直回车生成秘钥文件
第六步:下载仓库
第一次下载需要输入yse
第七步:查看本地文件夹
发现已经下载下来仓库信息,可以使用了
第八步:测试
进入到包含.git的目录并在此右击打开bash,执行创建分支操作,并创建test.txt测试文件
第九步:推送文件至gitlab
第十步:在gitlab中查看