因为自己的Git仓库fork了挺多东西, 之前是使用的以下这个自己写的py脚本用来维护库.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import os
import sys


def dirPathList(lpath, outlist):
filelist = os.listdir(lpath)
for f in filelist:
filename = os.path.join(lpath, f)
if os.path.isdir(filename):
outlist.append(filename)
return outlist


def svnUpdate(path):
cmd = 'TortoiseProc.exe /command:update /path:"{}" /closeonend:0'.format(path)
os.system(cmd)


def gitPull(path):
cmd = 'git -C {} pull'.format(path)
os.system(cmd)


if __name__ == '__main__':
outlist = dirPathList(os.path.dirname(os.path.realpath(sys.argv[0])), [])
print(outlist)
for f in outlist:
print('==========正在更新更新 {}=========='.format(f))
# svnUpdate(f)
gitPull(f)

os.system('pause')

但是到后面发现了这样其实挺麻烦的.

正好自己有黑苹果.

就准备自己搭建一个git服务.

我选择Gittea的原因是Gittea在功能上基本能满足我需要的这些,

同时和GitLab相比更轻量化.

Gittea官网:https://gitea.io/en-us/

Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证.

1.下载镜像

1
2
3
4
5
6
7
8
9
10
11
12
13
14
➜  ~ docker pull gitea/gitea

Using default tag: latest
latest: Pulling from gitea/gitea
4e9f2cdf4387: Pull complete
ceb56db4e74f: Pull complete
1b27c5440181: Pull complete
fb014a245ba1: Pull complete
bb332b9bf890: Pull complete
24834170abbb: Pull complete
13693b4b3d6a: Pull complete
Digest: sha256:852a6b4a5339aa2ee5ff27207ef4de159dc1a0787cc229247bbe658baba4e0e4
Status: Downloaded newer image for gitea/gitea:latest
docker.io/gitea/gitea:latest

2.运行镜像

1
2
3
4
5
# 启动镜像
➜ ~ docker run -d --name=gitea -p 10022:22 -p 10080:3000 -v /var/lib/gitea:/data gitea/gitea:latest

# 查看镜像状态
➜ ~ docker stats

3.配置

  • 访问配置docker宿主的ip:10080
  • 修改SSH 服务域名为宿主的ip
  • 修改SSH 服务端口为上面的10022
  • 修改基础URL为宿主http://ip:10080

切记!!基础URL一定要http://打头