我有一个包含三个android项目的目录 . MainDir看起来像这样:
/.gradle
/.git
/project1
/project2
/project3
.gitignore
.Jenkinsfile
.README.md
在jenkins中,我无法在构建期间运行shell脚本,因为他不知道这些是项目(他说“没有子项目”),因此启动了这些项目的gradle任务 .
在项目目录中,它看起来像:
/.gradle
/app
/build
/gradle
.gitignore
.build.gradle
.gradle.properties
.gradlew
有没有办法让詹金斯明白这些是他可以推出gradle taks的三个项目?就像在主目录中创建build.gradle文件一样吗?或者我应该只创建3个Jenkins项目?
1 回答
你可以在jenkins中制作三个版本,但除非需要单独构建库,否则它可能最终会付出额外的努力 . 听起来你真正想要的是一个多项目构建[1] . 一个简单的例子可以作为两个文件位于lib项目上方的文件夹中,
build.gradle
和settings.gradle
settings.gradle
将定义构建范围中包含的项目 .例如,给定
project1
,project2
和project3
示例,您的settings.gradle
可能如下所示 .现在运行
gradle projects
任务应该显示三个子模块 .对于
build.gradle
文件,您可以根据需要为所有模块指定一些常用属性,或者只保留文件为空,它必须存在但可以为空 . 如果你想共享一些配置,那么你可以用这样的东西设置build.gradle
.[1] https://docs.gradle.org/current/userguide/multi_project_builds.html