lan*_*lde 5 continuous-integration gradle docker circleci
我有一个要在CircleCI上进行构建和测试的多项目Gradle构建,然后将生成的图像上传到Google Container Repository。
在根目录中使用Gradle Wrapper(gradlew)设置项目。例如,我可以从根目录中调用
./gradlew :backend:api:build
这将构建子项目并生成一个胖子罐。我打算在最终的Docker映像中放入并部署这个胖子。为了使Docker映像尽可能小,我在每个子项目目录中都放置了一个Dockerfile。我要做的只是例如复制/root/backend/api到Docker映像中,并构建该子项目。这就是我遇到麻烦的地方。当我尝试
RUN ./gradlew :backend:api:build
放置在Dockerfile中的root/backend/api结果为/bin/sh: 1: ./gradlew: not found。这是预期的,因为./gradlew仅在根目录中可用。我试图了解在这种情况下是否有最佳实践。我考虑过的一些选择是:
./gradlew文件放在每个子项目目录中。感到多余和不好。/backend/api。这样会产生更大的图像,也感觉多余。任何建议将不胜感激!
| 归档时间: |
|
| 查看次数: |
392 次 |
| 最近记录: |