Gitlab代码托管服务器的安装

一、Gitlab 简介

官网:https://about.gitlab.com/

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

GitLab和GitHub一样属于第三方基于Git开发的作品,免费且开源(基于MIT协议),与Github类似,可以注册用户,任意提交你的代码,添加SSHKey等等。不同的是,GitLab是可以部署到自己的服务器上,数据库等一切信息都掌握在自己手上,适合团队内部协作开发,你总不可能把团队内部的智慧总放在别人的服务器上吧?简单来说可把GitLab看作个人版的GitHub。

二、Gitlab的安装

    1. 安装相关依赖:
yum -y install policycoreutils openssh-server openssh-clients postfix
    1. 启动ssh服务&设置为开机启动
systemctl enable sshd && sudo systemctl start sshd
    1. 设置postfix开机自启,并启动,postfix支持gitlab发信功能
systemctl enable postfix && systemctl start postfix
    1. 开放ssh以及http服务,然后重新加载防火墙列表
firewall-cmd --add-service=ssh --permanent
firewall-cmd --add-service=http --permanent
firewall-cmd --reload

如果关闭防火墙就不需要做以上配置

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-12.4.2-ce.0.el6.x86_64.rpm

安装:

rpm -i gitlab-ce-12.4.2-ce.0.el6.x86_64.rpm
    1. 修改gitlab配置
vi /etc/gitlab/gitlab.rb
# 修改Gitlab访问地址和端口,默认为80,我们改为82
external_url 'http://192.168.18.100:82'
nginx['listen_port'] = 82
    1. 重载配置以及重新启动Gitlab(需要耐心等待一段时间):
sudo gitlab-ctl reconfigure

sudo gitlab-ctl restart
    1. 把端口添加到防火墙
firewall-cmd --zone=public --add-port=82/tcp --permanent
firewall-cmd --reload

开机自启动:

systemctl enable gitlab-runsvdir.service

启动成功后访问http://192.168.18.100:82,看到以下管理员root密码的页面,修改密码后,重新登录即可。


三、Gitlab创建组、创建用户、创建项目

3.1 创建组

● 使用管理员root创建组,一个组里面可以有多个项目,可以将开发添加组里面进行设置权限,不同的组就是公司不同的开发项目或者服务模块,不同的组添加不同的开发即可实现对开发设置权限的管理。

3.2 创建用户

● 创建用户的时候,可以选择Regular(普通用户:只能访问属于他的组和项目)或Admin(可以访问所有的组和项目)类型。

● 创建完用户,立即修改密码:



这里的用户名和密码需要记住,用于后面的jenkins登录拉取代码。

3.3 将用户添加到组中

Gitlab用户在组里面有5种不同的权限。
● Guest:可以创建isssue,发表评论,不能读写版本库。
● Reporter:可以clone代码,不能提交,比如QA、PM可以赋予这个权限。
● Developer:可以clone代码、开发、提交、push,比如普通开发可以赋予这个权限。
● Maintainer:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,比如核心开发可以赋予这个权限。
● Owner:可以设置项目访问权限、删除项目、迁移项目、管理组成员,比如开发组组长可以赋予这个权限。

3.4 在用户组中添加项目

● 可以用root管理员在用户组中添加项目,也可以用刚才创建的账户登录到Gitlab中添加项目(需要重设密码,略)。


四、源码上传到Gitlab仓库

4.1 新建项目

4.2 开启版本控制

  • 出现如下框 选择Git


4.3 新建一个.gitignore file (Git)

  • 勾掉一些不需要的


  • 出现如下框


  • 如果不知道.gitignore file (Git) 要勾选掉哪些 就直接复制如下代码到.gitignore 里就好

# Created by .ignore support plugin (hsz.mobi)
### Maven template
target/
 
### JetBrains template
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion
 
*.iml
 
## Directory-based project format:
.idea/
# if you remove the above rule, at least ignore the following:
 
# IntelliJ
/out/
/build/
 
# mpeltonen/sbt-idea plugin
.idea_modules/
 
### OSX template
.DS_Store
.AppleDouble
.LSOverride
 
# Icon must end with two \r
Icon
 
# Thumbnails
._*
 
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
 
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
### Windows template
# Windows image file caches
Thumbs.db
ehthumbs.db
 
# Folder config file
Desktop.ini
 
# Recycle Bin used on file shares
$RECYCLE.BIN/
 
# Windows Installer files
*.cab
*.msi
*.msm
*.msp
 
# Windows shortcuts
*.lnk
 
~*
 
### Eclipse template
*.pydevproject
.metadata
.gradle
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath
 
# Eclipse Core
.project
 
# External tool builders
.externalToolBuilders/
 
# Locally stored "Eclipse launch configurations"
*.launch
 
# CDT-specific
.cproject
 
# JDT-specific (Eclipse Java Development Tools)
.classpath
 
# Java annotation processor (APT)
.factorypath
 
# PDT-specific
.buildpath
 
# sbteclipse plugin
.target
 
# TeXlipse plugin
.texlipse
 
#.gitignore
.checkstyle
test-output

4.4 提交代码到本地仓库

  • 项目add后 新建的类包括.gitignore会由红色变成绿色


  • 项目里添加类与代码后 commit ...(到本地库)


  • 如下


4.5 推送到Gitlab项目仓库中

参考:
https://blog.csdn.net/weixin_41979002/article/details/121686628

https://www.shuzhiduo.com/A/8Bz8eg7OJx/

https://www.yii666.com/blog/319403.html

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容