我有多模块要求,其中模型类被其他模块引用为gradle依赖。我手动使用gradle publish命令。但是在多通道环境中,人们忘记这样做,而且S3中托管的工件没有得到新的发布。 所以,我正在考虑让它部署在CI或heroku dynos中。我知道在Maven中我们在Build阶段本身指定。但我是Gradle的新手并且对此并不了解。 你能告诉我一种方法吗? 谢谢你的时间。
答案 0 :(得分:0)
首先我们需要创建一个发布任务:
发布{ 储存库{
maven {
url "s3_url"
credentials(AwsCredentials) {
accessKey "acccess_key"
secretKey "secret_key"
}
}
}
publications {
mavenJava(MavenPublication) {
groupId 'com.example.common'
artifactId 'common'
version '1.0'
from components.java
}
}
}
然后以下命令就行了:
build.finalizedBy(发布)
因此,在构建阶段结束时,无论是从远程运行还是从CI运行(在我的情况下是Heroku),工件都会自动发布到s3。