0


史上最简单详细的Git 代码托管平台搭建(Docker版)

光阴似箭呀,似乎已有许久未写文章了,这敲键盘的手都生疏了,只能一字一字的敲打的,虽然这个过程很慢,但是不影响我的思路,在学习任何东西的时候我都会心里想着一段话,那句:万丈高楼平地起,没有任何是一开始就会的 , 你也不例外,总有一个循序渐进的过程,开始都是一样的,启程之后只是速度不同罢了,月有阴晴圆缺,人有悲欢离合,很多时候情绪也会影响我们。

前段时间,在下班后的一个晚上,想着学习一下,突然想到之前学习过的git 平台,但是国内出名, 就只有码云,国外的就是Github,在公司大多都使用的是私有的就是Gitlab ,这已经广大程序员是老生常谈的话题,所以就想着能不能自己搭建一个代码托管平台,说干就干,下面我们使用Docker 搭建 6 种平台 ,一次性搭建个够!

1. Gitea

  • 简介:Gitea 是一个轻量级的 Git 代码托管平台,功能类似于 GitHub。它支持 Git 仓库管理、代码审查、问题跟踪、CI/CD 等功能。Gitea是一个基于Go语言开发的开源自助Git服务,它是Gogs的一个分支(或者说是一个社区驱动的Fork)。Gogs是一款轻量级的自助Git服务,最初由Unknwon开发,于2014年5月发布首个版本。然而,由于Gogs项目的一些社区成员对项目的发展方向和功能有不同的看法,并希望推动一些新的特性和改进,因此一些社区成员选择从Gogs分叉出一个新的项目,这就是Gitea。

Gitea的开发始于2016年11月,最初由社区的一些活跃成员发起并推动,他们致力于构建一个更加灵活、稳定和功能丰富的自助Git服务。Gitea的开发一直由社区的志愿者贡献代码和维护,因此它成为了一个受欢迎的开源项目,并在开源社区中得到了广泛的应用和认可。

  • 资源要求:Gitea 是非常轻量级的,通常运行在低至 512MB 内存的服务器上都能表现良好。
  • Docker 安装
docker run -d--name=gitea -p3000:3000 -p222:22 gitea/gitea:latest

version:'3'

services:
  gitea:
    image: gitea/gitea:latest
    container_name: gitea
    environment:-USER_UID=1000-USER_GID=1000-DB_TYPE=sqlite3
    volumes:-./gitea:/data
    ports:-"3000:3000"-"222:22"
    restart: always
  1. 将下面的 docker-compose.yml 文件内容复制到一个新文件中。
  2. 根据需要修改端口映射、环境变量和卷挂载路径。
  3. 在对应目录中运行 docker-compose up -d 启动服务。

访问 ip+3000端口

image.png

2. GitBucket

image.png

  • 简介:GitBucket 是基于 Scala 构建的开源 Git 平台,支持 Git 仓库、Pull Requests、Wiki、Issues 等功能。
  • GitBucket 是另一个轻量级工具,可用于管理正在开发的软件的开发周期。 GitBucket用Scala编写,可在JVM(Java虚拟机)上工作。 GitBucket的界面与GitHub非常相似。 GitBucket本身也使用Git作为版本控制系统。 该工具提供的功能包括资源库查看器,Wiki和问题跟踪器。 GitBucket已获得Apache License 2.0许可。
  • 资源要求:相对较轻量,适合中小型团队使用。
  • Docker 安装
docker run -d--name gitbucket -p8080:8080 gitbucket/gitbucket
  • docker-compose
version:'3'services:gitbucket:image: gitbucket/gitbucket
    container_name: gitbucket
    volumes:- ./gitbucket:/gitbucket
    ports:-"8080:8080"restart: always

3. Gogs

image.png

  • 简介:Gogs 是另一个轻量级的自托管 Git 服务,设计初衷是运行在最低限度的硬件配置上。
  • 资源要求:非常轻量,通常占用非常少的内存和 CPU 资源。

Gogs是另一个轻量级的工具, 用于构建自托管的软件开发工具。 Gogs是使Gitea存在的工具。 Gogs用Go编写。 与Gitea一样,Gogs只需要更少的资源来运行。 您甚至可以在便宜的树莓派上运行此工具。 根据其官方网站上的介绍,一些Gogs用户甚至在其NAS设备上运行Gogs实例。 Gogs使用Git作为版本控制系统。 该工具提供的其他一些功能包括代码审查,Wiki和错误跟踪器。 Gogs已获得MIT许可。 作者:开源大世界

  • Docker 安装
docker run -d--name=gogs -p3000:3000 -p22:22 gogs/gogs
version:'3'services:gogs:image: gogs/gogs
    container_name: gogs
    volumes:- ./gogs:/data
    ports:-"3000:3000"-"222:22"restart: always

4. Phabricator

  • 简介:Phabricator 是一款功能丰富的代码托管平台,尽管它提供了强大的功能集,但其资源占用相对较低。
  • 资源要求:相比 Gitea 和 Gogs 稍微重一些,但仍然比 GitLab 要轻量许多。
  • Docker 安装
docker run -d--name phabricator -p80:80 -p443:443 -p22:22 hachque/phabricator
version:'3'

services:
  phabricator:
    image: hachque/phabricator
    container_name: phabricator
    ports:-"80:80"-"443:443"-"22:22"
    restart: always
    volumes:-./phabricator:/var/www/phabricator

5. Code-Server

  • 简介:虽然 Code-Server 不是一个传统的代码托管平台,但它允许你在浏览器中运行 Visual Studio Code,非常适合进行远程代码编辑和管理。
  • 资源要求:比较轻量,尤其适合只需要远程代码编辑而不需要完整代码托管平台的场景。
  • Docker 安装
docker run -d--name code-server -p8080:8080 codercom/code-server
version:'3'

services:
  code-server:
    image: codercom/code-server
    container_name: code-server
    environment:-PASSWORD=yourpassword
    volumes:-./code-server:/home/coder/project
    ports:-"8080:8080"
    restart: always

6. SourceHut (sr.ht)

  • 简介:SourceHut 是一个非常轻量级、专注于简单和高效的代码托管平台,但需要手动配置。
  • 资源要求:非常轻量,适合对资源要求较为严格的环境。
  • Docker 安装:SourceHut 没有官方的 Docker 镜像,但可以通过 Dockerfile 自行构建。

这些平台都适合在资源有限的环境中使用,可以根据你的需求和服务器的配置选择合适的工具。

由于 SourceHut 没有官方的 Docker 镜像,若你希望自行构建一个 Docker 镜像,可以使用以下模板:

version:'3'services:sourcehut:build: ./sourcehut
    container_name: sourcehut
    ports:-"80:80"volumes:- ./sourcehut:/data
    restart: always

你需要在

./sourcehut

目录中提供自己的

Dockerfile

和相关配置文件。

标签: git docker 容器

本文转载自: https://blog.csdn.net/qq_42897427/article/details/141575849
版权归原作者 刘架构 所有, 如有侵权,请联系我们删除。

“史上最简单详细的Git 代码托管平台搭建(Docker版)”的评论:

还没有评论