首页 > 代码库 > Gradle 的 ssh (uploadArchive)上传是个大坑

Gradle 的 ssh (uploadArchive)上传是个大坑

前因

需要把项目中的一些共用包发布到私有服务器上(懒得搭建 nexus 环境了,反正也没多少),然后通过 maven 的 http 下载,结果用 gradle 的 ssh 上传怎么都是个失败,折腾了大半天,后来才想到加上 --info 参数试试(不怪我想起的晚,关键是丫在 83% 的时候死在那儿,啥提示都没有),要知道我可是完全按照官方文档来搞的。

经过

第一个坑

加上 info 参数后:gradle uploadArchives --info

结果发现原来死在那儿是等着你输入 yes 还是 no 呢,因为初次执行 ssh 操作会需要保存验证信息,但是这个提示完全被 gradle 的输出信息隐藏掉了,只有加了 info 或者 debug 才能看见,这时候直接输入 yes 就可以了。

第二个坑

然后继续执行不一定会好使哦。

gradle 官方文档中提到的这个 url 还需要注意一下: repository(url: "scp://repos.mycompany.com/releases")

对,就是后面的 /releases,这个表示从根目录开始,如果你像我一样扔到某个用户下,那么必须写全路径,当然,如果端口号不一样也可以改掉:

scp://repos.mycompany.com:1234/home/userName/repos/releases

搞定收工

Gradle 的 ssh (uploadArchive)上传是个大坑