存档

文章标签 ‘Git’

关于通过Docker部署的gitea的升级

2020年8月18日 1 条评论

最早以前用gitlab,但是太耗资源了。换了gogs,发现总不更新。最后换了gitea。

之前放在托管服务器上的是使用docker部署的gitea 1.6.1版,好长时间没升级了,这次升级了一下,升级到了当前最新的1.12.3版。

按照gitea官方文档,原来的docker容器删掉换新的docker容器就好了,但是前提是容器的/data必须映射到了宿主。也就是说,docker容器删掉,数据不会丢失。

我升级的时候也没有一步到位,先是升级到1.8.3,再升级到1.12.3。避免跨度太大,扯到……docker。

现在升级完看上去都正常。另外,升级前记得备份映射到宿主的/data。

分类: Docker 标签:

关于通过https提交git内容过大

2018年6月2日 没有评论

这个问题是给gogs前面加了nginx起https发生的,报错如下:

error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 Request Entity Too Large

https://stackoverflow.com/questions/7489813/github-push-error-rpc-failed-result-22-http-code-413 的办法添加 “client_max_body_size 50m;”解决。

注:

1.以前没给gitlab前置nginx起https,但是这个只设置nginx就解决问题,估计是nginx的问题。

2.client_max_body_size默认1m

3.client_max_body_size可以加载server或者http内,建议加在server内,减少影响范围。

4.大小根据自己的设置。

分类: Git 标签:

迁移docker方式安装的gitlab-ce

2018年4月10日 没有评论

之前用Docker的方式在阿里云给公司部署了1台Gitlab CE,当时觉得部署起来很简单方便。这次公司要把这个git迁移会IDC,记录过程如下:

1.暂停老服务器的服务

docker stop gitlab

2.迁移数据

进入新服务器的/srv目录,sftp到老服务器,执行get –r /srv/gitlab /srv

-r参数会把整个目录都拿下来

3.新服务器启用安装docker

4.下载gitlab-ce镜像

5.运行容器

按照https://docs.gitlab.com/omnibus/docker/ 中 Run the Image章节运行。

6.迁移预处理

docker exec -it gitlab update-permissions
docker restart gitlab

再重启之后,重新对域名做解析,gitlab服务就正常了。

另,gitlab文档说更换image的版本,可以实现升级,有闲的兄弟可以试试,哈哈

分类: Docker, Git 标签: ,

当时用Docker运行GitLab时的非80端口HTTP服务

2017年11月28日 没有评论

我不知道多少人会像我一样在家里使用Docker来跑GitLab,如果真有,那么一定会与到和我一样的问题。我遇到的问题比较简单:宽带运营商不开放80端口,GitLab的Docker镜像默认只支持80端口。外网端口直接端口映射可以用,但是在gitlab的网站里面看到git的clone路径的端口是有问题的,或者地址也是内网的。

解决这个问题需要预先确定准备使用什么域名和端口。首先需要一个动态域名,老tp-link路由器可以使用花生壳,新的tp-link路由器可以用tp-link提供的动态域名,比如现在有一个叫 xx456.tpddns.cn的域名。然后需要确定使用什么端口,比如我映射在2080上。那么我们可以用如下的命令创建一个Docker容器:

docker run \
    -e GITLAB_OMNIBUS_CONFIG="external_url 'http://xx456.tpddns.cn:2080’;” \
    –p 22:22 –p 2080:2080 \
    --name gitlab \
    --restart always \
    -v /srv/docker/gitlab/config:/etc/gitlab \
    -v /srv/docker/gitlab/logs:/var/log/gitlab \
    -v /srv/docker/gitlab/data:/var/opt/gitlab \
    -d gitlab/gitlab-ce:latest

其中

  • 如果你不准备使用ssh访问gitlab里面的git的话,那个22端口的映射也可以去掉。
  • 环境变量GITLAB_MNIBUS_CONFIG里面的external_url就是gitlab提示的地址,gitlab会自动判断是使用http还是使用https,自动判断是使用默认端口,还是其中配置的接口。

现在LAN用ip访问一下,然后再在路由器上做外网2080端口到docker所在服务器192.168.1.2的2080端口的映射。这样无论以后在外网还是内网,都可以使用http://xx456.tpddns.cn:2080来访问这个docker容器中的gitlab了。

注意:不知道什么原因,这种方式做的gitlab容器,会比默认情况下创建的gitlab启动的要慢,也就是docker容器重启以后,由starting到health状态花费的时间要多,初步估计会多30%到50%,但是运行起来之后没有区别。

分类: Docker, Git 标签: ,