gitlab是项目管理和代码托管平台,可通过web界面进行访问公开的或者私人项目,常用于源代码版本控制,但是也可以用于保存各类文件。gitlab能够浏览源代码,管理缺陷和注释。gitlab可以管理团队对仓库的访问,非常易于浏览提交过的版本并提供一个文件历史库。gitlab提供一个代码片段收集功能,可以轻松实现代码复用,便于日后有需要的时候进行查找。
当前使用的是私服gitlab,搭建在内部服务器上,只有管理员授予账号才可以访问。
gitlab环境部署
环境要求:内存不低于2g
第一步,查看linux版本信息。
# 查看linux系统的版本信息
命令:cat /proc/version
# 查看linux系统发行版信息
命令:cat /etc/redhat-release
第二步,安装依赖包。
命令:yum install policycoreutils openssh-server openssh-clients postfix
systemctl enable sshd
systemctl start sshd
systemctl enable postfix
systemctl start postfix
第三步,下载并安装rpm包。
方法一:通过rpm包进行安装。(一般选择这种方法)
不同版本的linux对应不同的rpm包。
若linux版本为centos 7,则需要下载el7版本的gitlab。
下载el7版本的gitlab,登录网址:
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
或
https://packages.gitlab.com/app/gitlab/gitlab-ce/search
# 下载el7版本rpm
命令:cd /usr/local/rpm
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-15.0.0-ce.0.el7.x86_64.rpm
或 wget https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-15.0.0-ce.0.el7.x86_64.rpm/download.rpm
chown -r git:git /usr/local/rpm
rpm -ivh gitlab-ce-15.0.0-ce.0.el7.x86_64.rpm
若结果显示“policycoreutils-python is needed by gitlab-ce”,则说明运行出现错误。又因为linux版本为centos 7,gitlab版本为el7,所以可以使用命令“yum install policycoreutils-python”来解决这个问题。若使用上述命令无效,则说明linux版本一定不是centos 7。然后重新安装gitlab。
若linux版本为alibaba cloud linux 3,则需要下载el8版本的gitlab。
下载el8版本的gitlab,登录网址:
https://packages.gitlab.com/app/gitlab/gitlab-ce/search,搜索下载gitlab-ce-15.0.0-ce.0.el8安装包,然后使用winscp将下载的安装包上传到/usr/local/rpm文件夹中。
# 将/usr/local/rpm的所有者及所属组改为git,然后安装gitlab
命令:cd /usr/local/rpm
chown -r git:git /usr/local/rpm
rpm -ivh gitlab-ce-15.0.0-ce.0.el8.x86_64.rpm
若结果显示“policycoreutils-python-utils is needed by gitlab-ce”,则说明运行出现错误。又因为linux版本为alibaba cloud linux 3,gitlab版本为el8,所以可以使用命令“yum install policycoreutils-python-utils”来解决这个问题。
方法二:通过yum源安装。
新建/etc/yum.repos.d/gitlab-ce.repo文件,并在文件中写入下面的代码:
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
repo_gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key
# 更新本地yum缓存
命令:yum makecache
# 安装gitlab社区版
命令:yum install gitlab-ce #自动安装最新版
或 yum install gitlab-ce-x.x.x #安装指定版本
第四步,修改配置文件。
1)修改配置文件/etc/gitlab/gitlab.rb,在文件中做如下修改:
# 把网址改为服务器公网ip(默认ip为8080,若8080已经使用,自定义其它端口),这个ip一定要在阿里云上进行授权配置。
external_url 'http://x.x.x.x'
2)确保防火墙启动成功
命令:systemctl status firewalld
若结果显示“active: inactive (dead)”,则需要启动防火墙。
systemctl start firewalld
若结果显示“active: active (running)”,则可以运行下面的命令:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld
若结果都显示“success”,则说明防火墙启动成功。
3)把gitlab的端口号放开
firewall-cmd --zone=public --add-port=80/tcp --permanent
若结果显示“success”,则说明gitlab的端口号成功放开。
4)重新加载并启动
命令:gitlab-ctl reconfigure
若结果显示“ruby_block[supervise_redis_sleep] action run”,则会一直卡无法往下进行,这时需要按住“ctrl c”强制结束,然后运行命令“sudo systemctl restart gitlab-runsvdir”,最后再次执行命令“sudo gitlab-ctl reconfigure”。
gitlab-ctl restart
若结果显示“ok: run”,则说明配置文件修改完成。
gitlab常用命令
gitlab-ctl start # 启动所有gitlab组件
gitlab-ctl stop # 停止所有gitlab组件
gitlab-ctl restart # 重启所有gitlab组件
gitlab-ctl status # 查看服务状态
gitlab-ctl reconfigure # 启动服务
gitlab-rake gitlab:check sanitize=true --trace # 检查gitlab
gitlab-ctl tail # 查看日志
1)gitlab的守护进程关闭和重启
# 备注:gitlab的守护进程会默认开启nginx
命令:gitlab-ctl stop nginx
gitlab-ctl restart nginx
# 释放资源,关闭gitlab
命令:gitlab-ctl stop
2)服务器重启或者gitlab意外停止,执行命令“gitlab-ctl start”。
若结果显示“fail: sidekiq: runsv not running”等,则说明gitlab不能启动。可以使用下面命令来解决这个问题:
systemctl start gitlab-runsvdir
gitlab-ctl restart
gitlab使用
在浏览器的地址栏中输入ecs服务器的公网ip(gitlab的ip和端口号),无法访问。
第一步,linux系统开放gitlab的端口号。
命令:cd /etc/sysconfig
ls -l
结果显示“ip6tables-config”和“iptables-config”,但是没有查看到iptables文件。
第二步,安装iptables-services。
命令:yum install iptables-services
第三步,启动iptables。
命令:systemctl enable iptables
systemctl start iptables
第四步,在iptables中配置开放gitlab的端口号。
命令:vim /etc/sysconfig/iptables
在文件中添加下面的代码:
-a input -m state --state new -m tcp -p tcp --dport 80 -j accept
第五步,重启防火墙。
命令:service iptables restart
第六步,重新登录gitlab。
在浏览器的地址栏中输入ecs服务器的公网ip(gitlab的ip和端口号),登录gitlab的界面,第一次登录使用的用户名为 root,而密码在文件/etc/gitlab/initial_root_password中(密码不会含空格),且会在 24 小时后自动被删除。然后修改密码即可。
第七步,登录gitlab时界面显示“502”。
这个一般是权限问题,可以给予gitlab权限。
命令:chmod -r 755 /var/log/gitlab
创建project
第一步,安装git工具。
在linux中安装git,使用自带的源安装。
命令:yum install git
第二步,生成密钥文件。
使用ssh-keygen生成密钥文件.ssh/id_rsa.pub。
命令:ssh-keygen #连续回车四下
cat .ssh/id_rsa.pub #结果显示生成的秘钥
第三步,在gitlab的m6米乐中国在线登录入口主页中新建一个project。
点击“新建project”,在“blank project”栏目中,填写“project name”,“project url”和“project slug”,其他默认,最后点击“创建project”。
第四步,添加ssh key导入第二步中生成的密钥文件内容。
点击“添加ssh key”,然后在“key”中复制粘贴刚刚生成的秘钥,最后点击“添加key”。
项目地址在进行clone操作时需要用到。
卸载
如果gitlab安装失败,那可以卸载gitlab并重装。注意:gitlab一定要卸载干净,否则会有不少麻烦。
第一步,停服务。
命令:sudo gitlab-ctl stop
第二步,卸载gitlab。(需确认gitlab是ce版本还是ee版本)
命令:sudo rpm -e gitlab-ce
第三步,杀掉gitlab守护进程。(带有opt/gitlab/service log)
命令:ps -ef|grep gitlab
sudo kill -9 [pid]
第四步,删除磁盘文件。
命令:sudo find / -name gitlab |xargs rm -rf
若结果提示“permission deny”,则手动逐层删除即可。
第五步,下载的gitlab软件包也删除。
相关推荐
最全的gitlab安装及使用教程,使用该教程你可以快速上手gitlab的安装及使用方法,很好很全的学习教程。
gitlab安装、使用教程(docker版)
本教程为gitlab 使用教程,有gitlab 简介,部署,使用,文档描述思路和步骤清晰,适合运维和gitlab 小白使用 资源内容 1.git 家族成员介绍 2. gitlab的服务构成 3.gitlab 的工作流程 4.gitlab的部署 5.gitlab ...
git主要是将不用用户电脑中的代码版本进行控制,这就需要用户电脑中也需要安装git环境,以下是windows下git环境的安装: 需要下载安装两个软件: 1、tortoisegit,是tortoisesvn的git变种,主要用于图形化显示,...
gitlab 安装配置详细教程
gitlab使用教程,linux环境下安装部署操作手册
教程、有效、超级好用
linux系统docker中,安装gitlab的详细教程
禅道、gitlab的安装:企业开发项目的交流,查看,协同开发!
win7 gitbash安装、gitlab使用、eclipse配置,及3者配合进行版本控制的管理,小白级攻略哦
gitlab 是一个用于仓库管理系统的开源项目,使用git作为代码管理工具,并在此基础上搭建起来的web服务。详细叙述安装部署、代码更新、提交和冲突的处理。
教程乃是图文详解,亲测有效,并非网上胡乱粘贴而来的...详细介绍了git的安装,使用,本地仓库,远程仓库,冲突解决,关联github,gitee,创建本地gitlab,在idea中集成等所有的操作,对于新手来讲,非常友好,强烈推荐。
1、git介绍和使用教程,主要针对新手入职快速自学git的使用,也可供大佬面向学校或者公司培训使用,根据多年经验总结和整理出来的课程,上手工作使用的git知识这里全都有,如果是想用来制作自己的培训课程的话,简单...
gitlab 在 8.0 后默认集成 ci 功能,相比 hook 来说可以说是更加简单一些,可以省去在服务器自行书写 ...不会操作请参见 gitlab 上的官方教程 安装 gitlab-runner 这里有两种选择,通过 rpm 包安装或通过 docker 安装
在 vagrant debian8 lnmp 环境下 安装 gitlab,图文教程,排版不是太好,原创资源
分布式版本控制方面的功能gitlab也是免费使用的,提供了社区版(gitlab ce)给大家!gitlab现在可强大了(2020年),已经有自己成套的devops落地m6米乐中国在线登录入口的解决方案(提高生产力的利器),但是这部分功能是在收费的旗舰版/企业版...
本压缩文件详细总结了如何在linux中安装gitlab,视频教程:https://www.bilibili.com/video/bv1dc411g7if/?spm_id_from=333.999.0.0
附主机安装教程: https://about.gitlab.com/downloads/#centos7 如果将gitlab进行docker化部署,所有服务如redis,postgresql等放在一个docker容器里,将配置、数据等文件挂载在宿主机上,备份和迁移时候只要复制...
查阅各个介绍jenkins自动打包的网址,虽然都各有特色,但是...对于完全第一次接触jenkins的小白来说,安装和部署jenkins并不难,唯一相对较难的是gitlab的配置,以及gradle和android studio的配置。咱们一步步慢慢来。
本文来自腾讯云,文章介绍了如何设置...我们将从运行的gitlab安装开始,我们将为基本的node.js应用程序复制示例存储库。在配置我们的ci过程之后,当新的提交被推送到存储库时,gitlab将使用cirunner来针对隔离的docker