Dockerized Gitea:在容器外执行脚本



我使用Docker -compose将gitea作为Docker映像运行。我已经激活了git钩子。

对于我的一个存储库,我想运行一个post-receive git hook脚本。仓库是一个(小)网站,每次提交后,我想签出repo,运行make命令和python脚本,并使用curl上传构建文件。

我想用外部系统的git用户在容器外执行脚本或者在gitea docker系统中有git, make和python(以及一个或两个额外的模块)也同样好,所以整个部署都是从容器内部进行的。

到目前为止,我的结论是:如果您想触发一个部署脚本,您应该使用Gitea的webhook。在主机系统(或任何其他系统)上,启动一个服务器,它使用webhook JSON并做它应该做的事情。在我的情况下,这种方法似乎是一个大锤敲开坚果。

另一个选择是在git的基础上创建一个Dockerfile,并添加必要的程序来在容器内运行服务器端git钩子。要做到这一点,请看下面的答案。

我的问题的原始方法,在容器外启动一个脚本,让外部用户访问外部程序,似乎是完全不可能的,或者至少不是"Docker方式"。

最新更新