一、背景

公司是局域网开发环境,资源文件用svn管理,代码用git管理。

GitLab有点大,而且只能在Linux下使用,所以选择了轻巧的GitBlit。

后来GitBlit被暴漏洞,不让用,无奈只好再次选择GitLab。

二、调研

我们服务器是Windows系统,原准备用Docker,没弄明白,安装在Windows上跑不起来。于是改用虚拟机里装个Linux系统,再安装GitLab。

三、实操

1、GitLab离线包下载地址:

https://packages.gitlab.com/gitlab/gitlab-ce

注意要选相应系统版本和cpu架构的安装包。

2、虚拟机

下载了ubuntu server安装上,只有命令行,连查看ip都不行,更不要说将gitlab安装包复制进系统了。公司有kylin系统,于是直接用的kylin。

安装命令:

sudo dpkg -i gitlab-ce_14.9.3-ce.0_amd64.deb

结果如下:

3、配置

修改下面的文件

sudo vi /etc/gitlab/gitlab.rb
external_url 'http://xx.xx.xx.xx:9999'    #根据自己情况修改

这里的IP地址,会体现在创建项目的ssh地址上。

Puma默认端口8080是注释掉的,这个端口不能跟external_url中的端口一样了,不然端口就冲突了。我调了一天的502,就是这个原因,我以为这俩得是一个端口。

################################################################################
## GitLab Puma
##! Tweak puma settings.
##! Docs: https://docs.gitlab.com/ee/administration/operations/puma.html
################################################################################# puma['enable'] = false
# puma['worker_timeout'] = 60
...### Advanced settings
# puma['listen'] = '127.0.0.1'
# puma['port'] = 8080
...

上面这段配置不需要修改!!

gitlab.rb配置文件中,只修改external_url即可。

注:有文章说Unicorn的端口与external_url中的一样,我不确定。我用的Puma,可能不一样。

4、配置生效

sudo gitlab-ctl reconfigure

结果如下:

5、初始密码

初始密码保存地址:/etc/gitlab/initial_root_password

执行完上面的命令会有提示,如下:

...
Notes:
Default admin account has been configured with following details:
Username: root
Password: You didn't opt-in to print initial root password to STDOUT.
Password stored to /etc/gitlab/initial_root_password. This file will be cleaned up in first reconfigure run after 24 hours.NOTE: Because these credentials might be present in your log files in plain text, it is highly recommended to reset the password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-password.gitlab Reconfigured!

6、开启防火墙并放行端口(局域网可以不开启)

sudo ufw status # 1. 查看ufw的状态
sudo ufw enable # 2. 开启ufw
sudo ufw reload # 3. 重启防火墙ufw
sudo ufw allow 9999 # 4. 对外开启9999端口
sudo ufw status # 再查看开启端口状态

四、其他有用的命令

1、查看服务状态

sudo gitlab-ctl status

2、检查

sudo gitlab-rake gitlab:check

3、查看日志

sudo gitlab-ctl tail

4、重启

sudo gitlab-ctl restart

五、错误的操作

1、修改confiy.yml文件

该文件路径:/opt/gitlab/embedded/service/gitlab-shell/config.yml

config.yml提示,这个文件由gitlab-ctl管理,手工修改会被擦除,只能修改/etc/gitlab/gitlab.rb文件。如下:

# This file is managed by gitlab-ctl. Manual changes will be
# erased! Tochange the contents below, edit /etc/gitlab/gitlab.rb
# and run `sudo gitlab-ctl reconfigure`....

2、修改gitlab-http.conf

文件地址:/var/opt/gitlab/nginx/conf/gitlab-http.conf

gitlab-http.conf提示,这个文件由gitlab-ctl管理,手工修改会被擦除,只能修改/etc/gitlab/gitlab.rb文件。如下:

# This file is managed by gitlab-ctl. Manual changes will be
# erased! Tochange the contents below, edit /etc/gitlab/gitlab.rb
# and run `sudo gitlab-ctl reconfigure`....

参考文章:

如何搭建gitlab服务器——使用离线安装包部署 - 知乎

GitLab配置说明

GitLab初次安装后,登录GitLab网页的管理员账号和密码各是什么?_暗诺星刻的博客-CSDN博客_gitlab管理员账号

离线部署GitLab相关推荐

  1. centos离线部署gitlab

    centos离线部署gitlab 有的时候因为工作环境需要,不能够连接互联网.而我们工作时又需要使用git进行合作开发,这时就需要在内网部署一个git服务端. 1.下载依赖软件包 yum instal ...

  2. RHEL7/CentOS7在线和离线安装GitLab配置使用实践

    前言 GitLab Community Edition 新版本已经集成了CI/CD的支持,从某种程度上来说可以告别对于Jenkins的依赖,我本来计划是写基于Docker部署GitLab但感觉还是有点 ...

  3. Linux centos7 docker部署gitlab私有服务器

    Docker部署gitlab私有服务器,那么,这里必须要有两个软件啦,一个是Docker,一个是gitlab.鉴于很多同学还是不太了解这两个东西,并且观看了不少的其他大神的相关博客,发现对于Docke ...

  4. 【内网福音】如何离线部署Rancher

    2019独角兽企业重金招聘Python工程师标准>>> 对于在公司内网环境中.无法访问互联网的用户而言,离线安装部署Rancher是解决问题的关键.本文是Rancher离线部署教程, ...

  5. Python 进阶 — 创建本地 PyPI 仓库与 Python 程序的离线部署

    目录 文章目录 目录 创建本地 PyPI 仓库 安装 pypiserver 上传 Python 安装包 使用私有 PyPI 仓库 Python 程序的离线部署 pip download 获取必须的 P ...

  6. EdgeGallery — AIO 离线部署 v1.5 版本

    目录 文章目录 目录 前言 资源配置 软件版本 Pre Installation 安装配置文件解析 hosts-aio var.yml password-var.yml Installation Po ...

  7. 从零开始一步一步搭建Ubuntu Server服务器、修改数据源、安装Docker、配置镜像加速器、Compose部署Gitlab服务

    场景 最终目的是使用Docker Compose部署一个Gitlab服务. 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程 ...

  8. mac 上搭建gitlabel_在Mac OS X中用Docker部署GitLab

    以前采用gitosis在Mac OS上架设Git服务器,用于集中管理课题组中的所有Git仓库.Gitosis 是一套用来管理 authorized_keys文件和实现简单连接限制的脚本,用来添加用户和 ...

  9. Node服务一键离线部署

    背景说明 项目测试通过,到了上线部署阶段.部署的机器安全限制比较严格,不允许访问外网.此外,没有对外网开放ssh服务,无法通过ssh远程操作. 针对上面提到的两条限制条件,通过下面方式解决: 无法访问 ...

  10. CentOS系统自动下载RPM包及其所有依赖的包(离线部署)

    前几天我尝试去创建一个仅包含我们经常在 CentOS 7 下使用的软件的本地仓库.当然,我们可以使用 curl 或者 wget 下载任何软件包,然而这些命令并不能下载要求的依赖软件包.你必须去花一些时 ...

最新文章

  1. 商汤科技举办病理、放疗两大MICCAI国际挑战赛,推动AI医疗落地
  2. GEB:中科院南土所梁玉婷组-大陆尺度下稻田土壤微生物β多样性的纬度分布特征...
  3. XamarinSQLite教程在Xamarin.Android项目中提取数据库文件
  4. 拦截推送信息_Android10.0公测版H2OS For OnePlus 6T第1版已推送更新
  5. Linux Priority VS Nice
  6. Deepin下配置JDK8
  7. 是否可能有一台算力无穷大的计算机?
  8. 字符串长度(PHP学习)
  9. 2019年下半年《软件评测师》上午试卷及答案
  10. multisim高频小信号放大器_什么是放大器及其用处_光纤传感器_传感器
  11. Linux多线程工作笔记0005---Linux多线程基础_创建线程pthread_create_线程等待_线程终止
  12. 没有别家钱多,没有别家人多,小型培训机构招生怎么做?
  13. 资源编译器 rc .exe 的参数
  14. PMP扫盲篇2 | PMP报名、缴费、考试那些事儿~~
  15. 免费下载380套大型商业源码
  16. 正交性原理与维纳霍夫(正则)方程
  17. 基于stm32及sim800c sim868 实现的远程控制 小程序控制模块 源码 移植过程简介
  18. 数字化转型的衡量指标
  19. Sass Module 介绍
  20. 阿里巴巴字体库使用方法

热门文章

  1. 微软新的邮件帐户域名 @live.com和@windowslive.com
  2. APP支付(微信、支付宝)
  3. 淘宝七天自动确认收货,怎么设计?RabbitMQ延迟队列,消息延迟推送delayed_message入门教程!
  4. 【职业规划】该如何选择职业方向?性能?自动化?测开?学习选择python、java?
  5. 小程序Progress组件介绍
  6. someone you loved 歌词翻译
  7. 4月6日——4月10日课程表
  8. python画圣诞帽_用Python就可以给你的头像戴上圣诞帽,别@微信团队了!
  9. 视频添加背景音乐ffmpeg(十八)
  10. 计算机屏幕出现条纹w7,电脑重装win7后屏幕出现条纹怎么办