ubuntu16.04搭建gitlab

ubuntu16.04搭建gitlab

目录

  • ubuntu16.04搭建gitlab
    • 一、在虚拟机ubuntu16.04安装gitlab
    • 二、配置gitlab
    • 三、使用gitlab
    • 四、踩坑记录

工作中遇到需要在远端服务器搭建gitlab,耗时4天,踩坑无数,特此开个虚拟机再次搭建一次gitlab并记录供以后参考!

背景:为保证服务器安全,远端服务器在内网,本地只能通过指定外网IP和端口去访问远端服务器

一、在虚拟机ubuntu16.04安装gitlab

1.本地下载ubuntu16.04的gitlab包(2021-06-01)(ubuntu版本最好能和gitlab版本对应)

https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/xenial/gitlab-ce_13.10.5-ce.0_amd64.deb

或者

https://download.csdn.net/download/studyingdda/87581776

在这里插入图片描述

2.ssh登录ubuntu,把下载好的gitlab包传到ubuntu

在这里插入图片描述

在这里插入图片描述

3.安装依赖包,运行命令后选择Internet Site

sudo apt-get install curl openssh-server ca-certificates postfix

在这里插入图片描述

4.“System mail name”输入服务器name

在这里插入图片描述

5.安装gitlab,运行命令,等待安装完成,安装完成如下图

sudo dpkg -i gitlab-ce_13.10.5-ce.0_amd64.deb

在这里插入图片描述

二、配置gitlab

1.配置gitlab ’external_url‘和端口号, ’external_url‘配置成服务器的IP,端口号默认80

sudo vim /etc/gitlab/gitlab.rb

在这里插入图片描述

在这里插入图片描述

2.使gitlab配置生效,配置成功如下图

sudo gitlab-ctl reconfigure

在这里插入图片描述

三、使用gitlab

1.通过配置的IP及端口进入到gitlab页面,对密码进行重置

在这里插入图片描述

2.重置密码完毕后进行登录,用户名是root,密码是刚刚重置的密码

在这里插入图片描述

3.登录成功之后如下图所示

在这里插入图片描述

接下来创建一个项目,创建一个用户,以这个用户使用git实现推拉文件到服务器

创建用户有两种方式:1.root管理员创建 2.个人到此gitlab页面进行注册,然后请求root审批。此处演示第一种。

4.创建用户:姓名:张三;账号:zhangsan;密码:zhangsan;邮箱: zhangsan@163.com

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5.创建项目

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6.使用张三用户登录

在这里插入图片描述

7.配置SSHKeys

在这里插入图片描述

在这里插入图片描述

8.使用PuTTYgen生成SSHKeys,并增加到gitlab

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

9.在git配置用户名和邮箱

“git config --global user.name+用户名”

“git config --global user.email+你的邮箱”

在这里插入图片描述

10.将项目中“Clone with HTTP”拷贝

在这里插入图片描述

11.使用“TortoiseGit”进行Git克隆到本地

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

12.随意创建一个文件,推送到服务器

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

gitlab常用命令
重启配置,并启动gitlab服务				sudo gitlab-ctl reconfigure
启动所有gitlab 						sudo gitlab-ctl start
重新启动GitLab						sudo gitlab-ctl restart
停止所有gitlab						sudo gitlab-ctl stop
查看服务状态				  			sudo gitlab-ctl status
查看Gitlab日志						sudo gitlab-ctl tail
修改默认的配置文件			 			sudo vim /etc/gitlab/gitlab.rb
检查gitlab				 			gitlab-rake gitlab:check SANITIZE=true --trace

四、踩坑记录

踩坑记录:

1.刚开始创建了一个名为“git”的用户,使用这个用户去安装gitlab,在执行’sudo gitlab-ctl reconfigure‘发生与’git同名冲突‘类的报错

解决方法:删掉名为’git‘的用户,用别的用户再装gitlab

2.删除git用户时需要先卸载gitlab,在网上找了很多卸载gitlab的方法都卸载不干净

解决方法:我从根目录全局搜索gitlab相关的目录及文件全部删除后才算是卸载干净

3.因为我是通过外网IP及9902端口远程ssh登录服务器的,因此在配置gitlab第1步中的IP使用的是服务器的外网IP,不能直接使用内网IP(内网IP我无法访问)

4.在gitlab配置完毕登录页面时遇到使用80端口进去是Apache2的页面

解决方法:Apache2和gitlab的80端口冲突,我修改了Apache的端口号

5.在gitlab配置完毕登录页面时进去是gitlab502错误的页面

解决方法:网上找到很多解释:内存不够和端口冲突等,我排除内存不够的问题,因为远端服务器的外网只开放了很少的端口,因此我猜测是gitlab默认需要很多端口,因此我把所有gitlab运行时的线程在gitlab的配置文件对应找了一遍,把其中涉及到的端口都请服务器端同事开启了,之后又重装了一次gitlab就能够正常访问了。我整理的涉及到的端口我会在下方贴出来:

在这里插入图片描述

gitlab涉及到的任务     线程号           sudo netstat -nultp显示端口号  		配置文件中涉及到的端口号
alertmanager: 		(pid 24236) 1s		alertmanager:	9093/9094				配置文件中:9093
gitaly: 			(pid 24270) 0s												配置文件中:8075/9075/9236
gitlab-exporter: 	(pid 24334) 0s		ruby:			9168					配置文件中:9168
gitlab-workhorse: 	(pid 24336) 0s		gitlab-workho:	9229					配置文件中:8080/9229
grafana: 			(pid 24371) 1s		grafana-serve:	3000					配置文件中:25/9090/3000
logrotate: 			(pid 24491) 0s												配置文件中:
nginx: 				(pid 24497) 1s		nginx:			8060					配置文件中:5050/
node-exporter: 		(pid 24565) 0s		node_exporter:	9100					配置文件中:9100
postgres-exporter: 	(pid 24571) 0s		postgres_expo:	9187					配置文件中:9187
postgresql: 		(pid 24584) 0s												配置文件中:5432
prometheus: 		(pid 24586) 0s		prometheus:		9090					配置文件中:9229/9090
puma: 				(pid 24650) 1s												配置文件中:8080
redis: 				(pid 24658) 0s												配置文件中:6379
redis-exporter: 	(pid 24664) 1s		redis_exporte:	9121					配置文件中:9121
sidekiq: 			(pid 24674) 0s												配置文件中:8082
										gitaly:			9236

到此在虚拟机ubuntu16.04部署gitlab及gitlab的基本操作记录完毕。

还有一点需要提醒的是:在虚拟机上的ubuntu服务器只能用运行此虚拟机的主机访问gitlab页面(虚拟机我配置的是NAT模式),同局域网的其他主机没法访问这个虚拟机,但是在实际搭建gitlab服务器时也不会用虚拟机去搭建,因此不会出现此问题。至于为什么虚拟机使用NAT网络时,同局域网别的主机没法访问的问题我也不太清楚,对网络相关的知识欠缺,如果有大佬还请多多指教!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/9517.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

原油期货是什么?原油期货交易盈利技巧有哪些?

现如今大多数人的手中都不宽裕,都在想方设法的赚钱,那么有没有简单又来钱快的方法呢?答案是:有的,那就是原油期货交易,虽然原油期货交易来钱快,但只要是投资就有一定的风险。投资者想要做好原油…

二叉树练习题(递归展开图详解哦)

全文目录引言单值二叉树题目描述及思路实现二叉树的最大深度题目描述及思路实现翻转二叉树题目描述及思路实现相同的树题目描述及思路实现总结引言 前面我们介绍了二叉树的相关基础知识,并且了解到二叉树的表示有两种结构:顺序结构与链式结构。即&#…

6、springboot快速使用

文章目录1、最佳实践1.1、引入场景依赖1.2、查看自动配置了哪些(选做)1.3、是否需要修改配置1、修改配置2、自定义加入或者替换组件3、自定义器 XXXXXCustomizer2、开发小技巧2.1、Lombok1、引入坐标2、在IDEA中安装lombok插件(新版默认安装&…

USB在虚拟机中不显示以及没有访问权限

USB在虚拟机中不显示以及没有访问权限 不显示可以在虚拟机中点击设置按键选择移除USB设备然后再添加,在右下脚就会显示USB图标,点击链接到主机即可。 无访问权限输入一下命令: sudo chmod 666 /dev/ttyUSB0

建龙转债上市价格预测 - 配了38张道氏,希望不要乱跌

建龙转债基本信息转债名称:建龙转债,评级:AA-,发行规模:7.0亿元。正股名称:建龙微纳,今日收盘价:96.19元,转股价格:123.0元。当前转股价值 转债面值 / 转股价…

springboot+jwt令牌简单登录案例

1. 什么是JWT?JSON Web Token JSON Web Token (JWT)是⼀个开放标准(RFC 7519),它定义了⼀种紧凑的、⾃包含的⽅式,⽤于 作为JSON对象在各⽅之间安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。 1.1 什么时候应该⽤…

Spring Security 6 的权限授权验证失败

我第一次完成了认证 ,然后在授权验证那里出来了问题,我也不知道,教程是sangen 那个教程。跟着敲,我知道我的版本不对,但是我最后还是new bing 解决我的bug . 带token的时候就说明 ,认证就已经成功的&#x…

node开通阿里云短信验证服务,代码演示 超级详细

阿里云官网步骤:Node.js SDK (aliyun.com) 首先先搭建一个node项目:app.js const express require(express); // 引入 Express 框架const app express(); app.use(express.json()); // 解析请求中的 JSON 数据const PORT process.env.PORT || 3000; …

浅谈全局视角下的设计模式

写在前面: 以下内容,更多的是自己的思考总结,不可避免出现有争议的地方,请谨慎食用。 浅谈全局视角下的设计模式1、业务开发经常使用的设计模式有哪些?2、为什么有些设计模式不常见呢?3、为什么这些设计模式…

VIM 编辑器使用教程

我们如果要在终端模式下进行文本编辑或者修改文件就可以使用 VI/VIM 编辑器,Ubuntu 自带了 VI 编辑器,但是 VI 编辑器对于习惯了 Windows 下进行开发的人来说不方便,比如竟然 不能使用键盘上的上下左右键调整光标位置。因此我推荐大家使用 V…

基于5G技术的智能导航机器人及AR巡逻应用开发项目实施方案(上)

目录 1 项目总体概述 1.1 项目背景 1.2 建设内容 1.3 建设目标 2 项目需求理解 2.1 业务需求 2.2 功能需求 3 项目技术方案 3.1 建设方案 3.1.1 设计思路 3.1.2 架构设计 3.1.3 功能实现 3.2 安全方案 3.2.1 系统安全原则 3.2.2 系统安全措施 4…

linux 集群时间同步

前言 由于搭建hadoop集群需要进行集群时间同步,记录下具体操作过程。 这里我的集群环境为192.168.184.129(主)、192.168.184.130(从)、192.168.184.131(从),设置从机器从主机器同步…

使用Docker快速创建一个Jenkins服务

目录 1.安装Docker 2.查看有哪些镜像,获取Jenkins镜像 3.查看已拥有的镜像 4.启动容器 5.查看容器运行 6.【配置】--从网页访问,对Jenkins进行配置 6.1.访问 6.2.初次使用,插件安装 6.3.初次使用,创建用户 7.配置完成后…

Android双目三维重建:Android双目摄像头实现双目测距

Android双目三维重建:Android双目摄像头实现双目测距 目录 Android双目三维重建:Android双目摄像头实现双目测距 1.开发版本 2.Android双目摄像头 3.双目相机标定 (1)双目相机标定-Python版 (2)双目相机标定-Matlab版 4.相机参数配置 5.Android 双…

Halcon: (示例 1)OCR 字符识别

目录 示例 涉及算子描述 text_line_orientation hom_mat2d_identity hom_mat2d_rotate affine_trans_image dots_image reduce_domain vector_angle_to_rigid binary_threshold dilation_rectangle1 union1 shape_trans partition_rectangle intersection par…

【Pycharm基础运用】涵盖pycharm的常用功能

目录创建和打开项目Pycharm同时打开多个python项目1.从开始菜单中进入设置,file>>settings>>project2.找到Project Structure,点击右侧的Add content Ront ,找到python项目文件夹即可3.python多项目效果图新建文件并附带头部模板1.点击File-…

MyBatis-Plus的基本操作

目录 1、配置文件 1、添加依赖 2、启动类 3、实体类 4、添加Mapper类 5、测试Mapper接口 2、CRUD测试 1、insert添加 2、修改操作 3、删除操作 3、MyBatis-Plus条件构造器 4、knife4j 1、Swagger介绍 2、集成knife4j 3.添加依赖 4 添加knife4j配置类 5、 Cont…

【AI绘图学习笔记】Latent Diffusion Model(上)——论文解读

gihub代码 论文-Arxiv-High-Resolution Image Synthesis with Latent Diffusion Models 参考视频:【渣渣讲课】试图做一个正常讲解Latent / Stable Diffusion的成年人 中文翻译论文(这篇翻译得很好) 文章目录简要概述生成模型优缺点分析Text2Image的历史Latent Diff…

大模型“云上经济”之权力游戏

文丨谭婧光阴者百代之过客。世人皆过客,软件亦如此。人工智能已有新旧之分。网友戏称,新人工智能是ChatGPT,旧人工智能是“之前那些”。历史在重演。云计算在美国问世的时候,否定论调居多。一个常见的否定论调是「做生意不用上云」…

sipp3.6带媒体测试方案

概述 SIP压测工具sipp,免费,开源,功能足够强大,配置灵活,优点多。 本文档介绍sipp工具如何带媒体测试,并介绍如何制作可用的媒体文件(G729和PCMA)。 环境 centos7.9 freeswitch…
最新文章