首页 > 其他分享 >快速部署最简单的 Git 服务 Gogs

快速部署最简单的 Git 服务 Gogs

时间:2024-02-15 10:33:43浏览次数:36  
标签:Git 部署 Gogs gogs 仓库 compose docker

前面介绍了 Gitlab 的搭建,功能很强大,无论是 cpu 还是内存,要求机器的配置要高一些。

如果没有比较高的机器配置,只使用最常用的 Git 代码托管功能,那么就使用 Gogs 来快速部署吧。

Gogs 是一款极易搭建的自助 Git 服务。旨在打造一个以最简便的方式搭建简单、稳定和可扩展的自助 Git 服务。

使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的所有平台,包括 Linux、macOS、Windows 和基于 ARM 的操作系统。

官网地址:https://gogs.io

GitHub 地址:https://github.com/gogs/gogs

Gitee 地址:https://gitee.com/unknwon/gogs


搭建和配置 Gogs

我的 CentOS7 虚拟机 ip 地址是 192.168.136.128,已经安装好了 docker 和 docker-compose

我们首先在自己的虚拟机上创建 /app/gogs 目录,里面在创建一个子目录 data 和 docker-compose.yml 文件

然后编写 docker-compose.yml 文件内容如下:

version: "3.5"
services:
  gogs:
    container_name: gogs
    image: gogs/gogs:latest
    restart: always
    ports:
      - "8080:3000"
      - "8022:22"
    volumes:
      - /app/gogs/data:/data

然后运行 docker-compose up -d 命令启动服务,访问 http://192.168.136.128:8080 展示配置页面

image

数据库支持多种,最简单的方式就是选择 SQLite3 文件数据库,实际开发或生产环境最好选择 MySQL 等高级数据库

image

将域名修改成容器的宿主机的 ip 地址,应用 url 修改成宿主机的 ip 和外部端口,其它的配置可以不用修改

image

对于可选配置,只需要配置【管理员账号设置】即可,管理员邮箱可以随便填写,不需要是一个真实的邮箱

然后点击【立即安装】,很快就会初始化好数据库,完后后并自动登录进入首页

image


到此为止,Gogs 就搭建完毕了,其具有的主要功能如下:

  • 控制面板、用户页面以及活动时间线
  • 通过 SSH、HTTP 和 HTTPS 协议操作仓库
  • 管理用户、组织和仓库
  • 仓库和组织级 Webhook,包括 Slack、Discord 和钉钉
  • 仓库 Git 钩子、部署密钥和 Git LFS
  • 仓库工单(Issue)、合并请求(Pull Request)、Wiki、保护分支和多人协作
  • 从其它代码平台迁移和镜像仓库以及 Wiki
  • 在线编辑仓库文件和 Wiki
  • Jupyter Notebook 和 PDF 的渲染
  • 通过 SMTP、LDAP、反向代理、GitHub.com 和 GitHub 企业版进行用户认证
  • 开启两步验证(2FA)登录
  • 自定义 HTML 模板、静态文件和许多其它组件
  • 多样的数据库后端,包括 PostgreSQL、MySQL、SQLite3 和 TiDB
  • 超过 31 种语言的本地化

另外 Gogs 对硬件要求很低,绝大多数机器都能够满足要求:

  • 最低的系统硬件要求为一个廉价的树莓派
  • 如果用于团队项目管理,建议使用 2 核 CPU 及 512MB 内存
  • 当团队成员大量增加时,可以考虑添加 CPU 核数,内存占用保持不变

有关 Gogs 的使用,这里就不介绍了,可以查看官网使用文档:https://gogs.io/docs

标签:Git,部署,Gogs,gogs,仓库,compose,docker
From: https://www.cnblogs.com/studyjobs/p/18016000

相关文章

  • 使用 docker-compose 部署 Gitlab
    现在基本上每个公司,只要有代码开发工作,都会搭建Gitlab代码托管服务器,很少有公司再使用SVN等其它代码托管服务器了。本篇博客介绍如何快速搭建Gitlab服务器,有关Gitlab的使用方法,限于篇幅,这里就不介绍了。作为一名开发人员,搭建完成后,自己最好要仔细研究一下各项功能的用法......
  • Error: error:0308010C:digital envelope routines::unsupported
    概述使用若依框架,启动UI执行命令npmrundev时报错误:Error:error:0308010C:digitalenveloperoutines::unsupportedINFOStartingdevelopmentserver...95%emittingCompressionPluginERRORError:error:0308010C:digitalenveloperoutines::unsupportedError:er......
  • docker环境部署
    1.下载docker点击查看代码#1.阿里云镜像资源(先执行这个下载加速)yum-config-manager--add-rephttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo#2.安装dockeryuminstall-ydocker-ce2.启动Docker服务安装完成后,使用下面的命令来启动docker服务,并......
  • 使用Git向Gitee仓库推送项目的完整流程
    1.安装git如果没有特殊需求,直接下一步即可;安装链接如下:Git-Downloads(git-scm.com)2.在Gitee上新建仓库,初始化仓库3.保存仓库的链接,如下图标记所示4.在需要推送的项目文件夹中右键选择“OpenGitBashhere”5.初始化git,使用的命令如下gitinit初始化成功后......
  • CodeForces 1928F Digital Patterns
    洛谷传送门CF传送门为什么我场上被卡常了。转化题意,将\(a,b\)差分,答案为在\(a,b\)选出相同长度的不含\(0\)的子段方案数。设\(a\)选出长度为\(i\)的不含\(0\)的子段方案数为\(x_i\),\(b\)选出长度为\(i\)的不含\(0\)的子段方案数为\(y_i\)。答案为\(\su......
  • Embedding 模型部署及效果评测
    写在前面最近大模型发展迅速,与之对应的向量化需求也被带动起来了,由此社区也衍生出很多模型,本文选几款,简单做下评测。前置概念为方便读者,先简单介绍几个概念。概念1:VectorEmbedding也即向量化嵌入,举个例子:想象一下,你是一位市场研究员,职责是分析消费者的购买行为,并为你的客......
  • 使用 docker-compose 部署 nacos(单机和集群)
    之前已经编写过有关nacos的单机部署和集群部署,是直接在CentOS7上直接部署的,之前的博客链接如下:单机版nacos部署:https://www.cnblogs.com/studyjobs/p/17380184.html集群版nacos部署:https://www.cnblogs.com/studyjobs/p/17383397.html为了进一步简化部署,本篇博客介绍如......
  • 17.Jenkins的Git版本管理
    Git的集成 在Jenkins上构建从Git源码仓库拉取代码的任务时需要使用到Git插件在执行job的机器上安装好Git yuminstallgit-y下载Git插件 进入菜单Dashboard->系统管理(ManageJenkins)->插件管理(ManagePlugins)在可选插件搜索Git找到Git......
  • 05. Git团队协作
    一、团队内协作1.1、邀请成员到团队  使用GitHub进行团队内协作时,我们需要邀请成员到团队内。首先,我们先进入远程库,在点击【settings】选项,选择【Collaborators】选项,然后再点击【Addpeople】按钮。  接着,在弹出的对话框中输入要邀请人的用户名或邮箱,然后点击选择,接......
  • GitHub了解
       GitHub是一个共享虚拟主机服务,用于存放使用Git版本控制的软件代码和内容项目。它由GitHub公司(曾称LogicalAwesome)的开发者ChrisWanstrath、PJHyett和TomPreston-Werner使用RubyonRails编写而成。     GitHub同时提供付费账户和为开源项目提供的免费账户。根......