我有一些任务:
我的 github repostiroy 文件夹为“docker”,在这个文件夹中有许多子文件夹的名称(app1、app2、< strong>app3 等),子文件夹中只有 Dockerfile。
有时我添加名为 app50 的新子文件夹,我希望 Jenkins 自动构建这个新的 dockerfile,如果一切正常,将新图像推送到私有(private) docker 注册表。
我如何自动选择子文件夹,进入他并运行 docker build ?带有 cutsom 标签和名称。
例如,我使用 Dockerfile 上传新文件夹“app70-1.2.3”。 Jenkins 需要进入文件夹“docker/app70-1.2.3”并运行“docker build -t app70:1.2.3 .
”
最佳答案
我正在使用类似的方法,在您的情况下实现此目的的最简单方法可能是通过 Feature branching strategy .只需使用您的分支作为文件夹名称,然后在 Jenkins(shell)构建步骤中运行类似这样的东西:
cd ${GIT_BRANCH}
docker build -t ${GIT_BRANCH} .
关于testing - 在 jenkins 项目上构建许多 dockerfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38593420/