ubuntu16.04搭建gitlab(代码片段)

studyingdda studyingdda     2023-04-03     275

关键词:

ubuntu16.04搭建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网络时,同局域网别的主机没法访问的问题我也不太清楚,对网络相关的知识欠缺,如果有大佬还请多多指教!

ubuntu18.04搭建gitlab(代码片段)

1.配置环境:apt-getupdateapt-getinstall-ycurlopenssh-serverca-certificatesapt-getinstall-ypostfix安装postfix邮件服务器的时候,选择Internetsite,填入自己的域名就可以了。2.安装gitlab:cd/tmpcurl-LOhttps://pac 查看详情

ubuntu16.04下搭建eclipsec++开发环境(代码片段)

ubuntu下使用Eclipse下搭建开发环境基本上网上教程一大堆,但是复杂度太大,因为很多教程都是从JDK开始安装一直到最后,而且很多都是从别的linux发行版上弄来的方法,各种编译直接吓死人有木有,其实ubuntu... 查看详情

如何在ubuntu上搭建网桥(代码片段)

如何在Ubuntu上搭建网桥参考链接:https://www.cnblogs.com/linuxprobe/p/5709025.html作为一个Ubuntu16.04LTS的初学者。如何在Ubuntu14.04和16.04的主机上搭建网桥呢?顾名思义,网桥的作用是通过物理接口连接内部和外部网络。对于虚... 查看详情

gitlab搭建自己的源代码管理器

...indows、macos的,具体支持的系统参照官网的1、安装虚拟机ubuntu16.04   需要注意的一点:gitlab服务器与客户端必须在一个局域网内(或者公网这个更大的局域网)才能正常的提交下载代码2、设置虚拟机网络:桥接模式(... 查看详情

ubuntu16.04搭建fabric1.4(代码片段)

...一.电脑配置VMwareWorkstation16pro:16.2.3build-19376536Windows10ubuntu16.04二.新建虚拟机  Ubuntu64位的克隆:创建好ubuntu16.04之后,立刻克隆一份,防止安装失败要再安装Ubuntu16.04Ubuntu64位的克隆_:在安装好相关工具之后&#x... 查看详情

本地搭建gitlab服务器(ubuntu)(代码片段)

...写自定义目录标题1、下载ce包2、安装3、配置Gitlab4、配置Ubuntu网络5、配置Windows网络6、启动Gitlab7、登陆1、下载ce包首先到gitlab官网下载ce:https://packages.gitlab.com/gitlab/gitlab-ce/打开链接,如下图所示我是Windows系统,使... 查看详情

ubuntu16.04下搭建python3.5+pyqt5.7+eric6开发环境(代码片段)

...dows下实现的pythoncode,因为业务需要,要将其放到Ubuntu(其实是Linux)下来进行开发和demo。因此安装了目前最新的Ubuntu16.0464bit系统,并搭建带有GUI的python开发环境。##环境与工具选择最终确认选择“Ubuntu16.04... 查看详情

devstack环境搭建(代码片段)

1.devstack部署参考QuickStart,推荐使用ubuntu16.04进行安装1.1 配置ubuntu国内源修改/etc/apt/sources.list内容为debhttp://cn.archive.ubuntu.com/ubuntu/xenialmainrestricteduniversemultiversedebhttp://cn.archive.ubuntu.com/u 查看详情

ubuntu16.04搭建优美的开发环境(代码片段)

ubuntu开发环境的配置获取root权限在终端中输入命令:sudopasswdroot会提示让你输入ROOT帐号的密码EnternewUNIXpassword:(在这输入你的密码)RetypenewUNIXpassword:(确定你输入的密码)passwd:passwordupdatedsuccessfully更改root密码sudopasswd... 查看详情

elasticsearch集群搭建1welcometomyelkworld!(代码片段)

系统环境:jdk1.8环境ubuntu16.04系统172.20.1.10node-1ubuntu16.04系统172.20.1.20node-2ubuntu16.0.4系统172.20.1.30node-3安装elasticsearch版本:elasticsearch-6.2.2.tar.gz安装包下载路径(里边有6.2.2版本、6.4.2版本和jdk1.8的包):https://pan.bai 查看详情

ubuntu16.04无损分区大小调整工具gparted(代码片段)

Ubuntu16.04无损分区大小调整工具Gparted2018年03月13日16:16:46kunkliu阅读数:11868更多个人分类:Ubuntu环境搭建 转载地址:https://www.cnblogs.com/EasonJim/p/7617689.html安装:sudoapt-getinstallgparted使用:注意:这款软件可以调整分区大小,且... 查看详情

ubuntu16.04下搭建eclipsec++开发环境(代码片段)

ubuntu下使用Eclipse下搭建开发环境基本上网上教程一大堆,但是复杂度太大,因为很多教程都是从JDK开始安装一直到最后,而且很多都是从别的linux发行版上弄来的方法,各种编译直接吓死人有木有,其实ubuntu... 查看详情

ci:gitlab+gitlab-ci+slack(代码片段)

...tlab-ci+slack,实现可持续集成,对开发流程实现自动化。1.Ubuntu16.04搭建GitLab服务器参考:https://www.linuxidc.com/Linux/2018-01/150319.htm2.Thisjobisstuck,becausetheprojectdoesn‘thaveanyrunnersonlineassignedtoit.GotoRunnerspage参考:https://stackoverflow.com/questions... 查看详情

linux进阶ubuntu16.04安装rabbitmq(代码片段)

在阅读这篇文章之前,你应该是对Rabbitmq有一定了解的环境搭建Ubuntu16.04LTSErlang18.3Rabbitmq3.6.15准备我们选择/usr/local作为工作路径mkdir/usr/local/rabbitmqcd/usr/local/rabbitmq更新apt-getupdate安装安装Erlang//添加APT密钥wgethttp://packages.e 查看详情

shubuntuserver16.04-使用vestacp和gitlab配置web服务器(代码片段)

查看详情

docker搭建gitlab(代码片段)

1、安装启动gitlab下载并启动GitLab容器sudodockerrun--detach\\--hostnameh102\\--publish443:443--publish8024:80--publish8023:22\\--namegitlab\\--restartalways\\--volume/opt/gitlab/config:/etc/gitlab\\--volume/opt/gi 查看详情

linux进阶ubuntu16.04安装elasticsearch(代码片段)

...f0c;或者可以先通过文章末尾的链接了解ES是什么环境搭建Ubuntu14.04.5LTSElasticsearch2.4.4jdk1.7.0_76安装我们先从Elastic的官网下载ES的安装包wgethttps://download.elastic.co/elasticsearch/release/org 查看详情

ubuntu16.04rabbitmq安装与运行(安装篇)(代码片段)

Ubuntu16.04RabbitMq安装与运行(安装篇)2018年08月15日15:05:24我跟吴彦祖四六开阅读数:1966 前言目前公司用阿里云+redis的方式实现的消息队列。了解了目前几种主流的消息组件(主要包括rabbitmq、kafka、)的优缺点后,这里为了... 查看详情