问题描述
我开发小型网络应用程序并经常更新它们。它们都在 Docker 容器中运行。我使用本地 git repo (gogs) 和 docker-compose。
对我来说,让开发和测试更容易的是让 webhook 触发 docker-compose --build。 Dockerfile 已经包含一个 curl,可以从 git 中提取最新版本。
docker-compose.yaml:
services:
my_webservice:
build: .
container_name: my_webservice
...
Dockerfile:
FROM php:7.2-apache
RUN apt-get update && apt-get install -y curl
WORKDIR /var/www/html
RUN curl http://server:3000/api/v1/repos/.../master.tar.gz?token=xxx -o master.tar.gz
RUN tar xzfv master.tar.gz && rm master.tar.gz
...
所以缺少的链接是:
代码推送到 git/gogs --webhook--> ??container?? --?--> 触发 docker-compose --build --no-cache && docker-compose up -d>
我的首选解决方案是一个 docker 容器,它提供可以用 webhooks 触发并运行 docker-compose 命令的 web 端点。我不想开始在本机主机上堆积包/依赖项。
我已经尝试构建某种应该自己做的 docker 容器,但我无法弄清楚如何做到这一点,而不会产生以某种方式依赖于这个容器本身的奇怪容器。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)