前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >KVM虚拟机安装 GitLab EE

KVM虚拟机安装 GitLab EE

作者头像
宋天伦
发布2020-07-16 11:13:14
6960
发布2020-07-16 11:13:14
举报
文章被收录于专栏:fryteafrytea

GitLab 是一个基于网页的软件开发生命周期管理工具,提供了 git 代码仓库、知识库、问题追踪、CI/CD 流水线功能,使用开源许可证,由 GitLab 公司开发(来自 WikiPedia)。

自建 GitLab 服务器基于以下原因:

  1. GitHub 到国内的访问速度实在堪忧
  2. 随着某种关系的变化发展,作者并不指望这种状况有什么改善
  3. Git 仓库速度缓慢会拖慢开发效率
  4. GitHub Pages 的访问速度慢,托管在此的网页对于国内用户实在太不友好
  5. GitLab 提供的 CI/CD 流水线功能比较完善
  6. GitLab 的文档很全面,英文说明还不错,值得探索
  7. 借此机会提高英文

自建方法还是基于 KVM 虚拟化一台 Ubuntu 虚拟机,并由这台虚拟机提供服务,外网由宿主机反向代理到内网实现外网访问。本文记录基于此上描述的环境及日后遇到的解决方案,本文带有一个持续更新区。

虚拟化

  1. 创建虚拟磁盘
代码语言:javascript
复制
qemu-img create -f qcow2 ubuntu_gitlab.qcow2 100G
  1. 新建虚拟机
代码语言:javascript
复制
virt-install \
--virt-type=kvm \
--name=ubuntu_gitlab \
--hvm \
--vcpus=4 \
--memory=6144 \
--cdrom=/srv/kvm/iso/ubuntu-18.04.3-live-server-amd64.iso \
--disk path=/srv/kvm/ubuntu_gitlab.qcow2,size=100,format=qcow2 \
--network network=default \
--graphics vnc,password=tianlun666,listen=::,port=5914 \
--autostart \
--force
  1. 安装

在安装的过程中,为虚拟机配置网络如下:

  • statics ip : 192.168.122.4
  • GatWay: 192.168.122.1
  • name server: 192.168.122.1
  • Subnet: 192.168.122.0/24

安装 GitLab

GitLab 官方提供的安装说明很全面,本文提取其中关键步骤,具体安装请以官网文档为准。

  1. 安装并配置相关依赖
代码语言:javascript
复制
$ sudo apt-get update
$ sudo apt-get install -y curl openssh-server ca-certificates   

安装Postfix (选装)

GitLab 支持 Postfix, SMTP 等方式实现邮件通知,使用SMTP请跳过此步,如果需要安装Postfix邮件请执行以下的命令:

代码语言:javascript
复制
sudo apt-get install -y postfix   

安装过程中可能会出现一个全屏显示窗口,此时选择'Internet Site'并回车,使用你服务器的外部 DNS 作为'mail name'并回车,不出意外的话安装会继续进行。

  1. 添加 GitLab 软件源
代码语言:javascript
复制
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
  1. 运行 GitLab 安装

将代码中的网址替换为您为 GitLab 准备的地址,GitLab 会使用 Let's Encrypt 验证您的域名并自动为其配置 SSL。

代码语言:javascript
复制
sudo EXTERNAL_URL="https://gitlab.example.com" apt-get install gitlab-ee   
  1. 设置默认 root 密码。

使用浏览器进入您上一步设置的地址,使用 root 账户登录,系统会提示您为其设置密码。

案例汇总(持续更新区)

为 GitLab 配置 SMTP 邮箱

  1. 依次修改配置文件
代码语言:javascript
复制
vim /etc/gitlab/gitlab.rb

# 依次修改
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.mxhichina.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "gitlab@yinnote.com"
gitlab_rails['smtp_password'] = "xxxxxx"
gitlab_rails['smtp_domain'] = "yinnote.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false

gitlab_rails['gitlab_email_from'] = "gitlab@yinnote.com"
user["git_user_email"] = "gitlab@yinnote.com"
  1. 生效配置并重启 GitLab
代码语言:javascript
复制
$ gitlab-ctl reconfigure
$ gitlab-ctl restart
  1. 监听日志打印

如果出现问题,可以使用该命令在控制台监听日志。

代码语言:javascript
复制
$ gitlab-ctl tail
  1. 可能用到的 VIM 命令
代码语言:javascript
复制
# 整页翻页 ctrl-f ctrl-b
f就是forword b就是backward

# 翻半页
ctrl-d ctlr-u
d=down u=up

# 滚一行
ctrl-e ctrl-y

zz 让光标所在的行居屏幕中央
zt 让光标所在的行居屏幕最上一行 t=top
zb 让光标所在的行居屏幕最下一行 b=bottom

# 查找
/string
# 向前(Forward)查找字符串string
# 按下回车后,光标就能跳到正确的地方

手动刷新 Let’s Encrypt 证书

代码语言:javascript
复制
sudo gitlab-ctl reconfigure
sudo gitlab-ctl renew-le-certs

参考文献

Author: Frytea

Title: KVM虚拟机安装 GitLab EE

Link: https://cloud.tencent.com/developer/article/1662744

Copyright: This work by TL-Song is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 虚拟化
  • 安装 GitLab
  • 案例汇总(持续更新区)
    • 为 GitLab 配置 SMTP 邮箱
      • 手动刷新 Let’s Encrypt 证书
      • 参考文献
      相关产品与服务
      专用宿主机
      专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档