【问题标题】:Is it possible to compile bitbucket dependency via SSH (Gradle)?是否可以通过 SSH (Gradle) 编译 bitbucket 依赖项?
【发布时间】:2015-05-13 05:15:50
【问题描述】:

好的,我正在尝试编译对远程 maven url (bitbucket) 的依赖。问题是我无法在那个阶段通过 bitbucket 身份验证。 我试过这个:

repositories{
  maven{ url "https:" + "${username}" + ":" + "${password}" + ...etc}
}

它对我不起作用。所以我已经启用并通过 SSH 连接。问题是:如何使用 SSH 从远程私有 maven 存储库(托管在 bitbucket 上)编译依赖项?

【问题讨论】:

    标签: git maven ssh gradle


    【解决方案1】:

    我的团队也面临同样的问题,最终我们使用 bitbucket REST API 解决了这个问题。 所以把下面的代码放到build.gradle文件中(在项目根目录下)

    allprojects {
      repositories {
        maven {
          url 'https://api.bitbucket.org/1.0/repositories/REPO_OWNER/REPO_NAME/raw/BRANCH_NAME'
        }
        credentials {
          username bitbucket_username
          password bitbucket_password
        }
      }
    }
    

    REPO_OWNER 是你的 bitbucket 用户名或拥有 repo 的团队名称,REPO_NAME 你已经知道是你想要获取 lib 的存储库的名称from 和 BRANCH_NAME 分支名称。

    此外,bitbucket_usernamebitbucket_password 在 gradle.properties 中以下列方式定义:

    bitbucket_username = yourBitbucketUsername
    bitbucket_password = yourBitbucketPasword
    

    请注意,用户名和密码没有写任何引号。

    希望对你有用!

    【讨论】:

    • 您的帖子中有错字。你的意思是 gradle.properties 肯定的。 :)
    • 我以前使用相同的网址,它工作正常。但是如果您想将代码部分分发给客户端并且他们可以编译代码,则可能会隐藏密码......我不知道是否可以使用 SSH。
    • @wendingo 我们很久以前就尝试过使用 SSH,但没有成功......不幸的是,我不再使用 gradle 或 maven,所以恐怕我不再有帮助了......我们过去常常有两个文件,并且永远不会将我们自己的凭据推送到 repo,但是如果您需要您的客户访问它,那当然是行不通的......
    • @tommus 是的,你说得对,我的意思是 gradle.properties thx
    【解决方案2】:

    来自dependency management section of the gradle documentation

    repositories {
        maven {
            url "sftp://repo.mycompany.com:22/maven2"
            credentials {
                username 'user'
                password 'password'
            }
        }
    }
    

    【讨论】:

    • nope=( 它不适用于 bitbucket。它显示“Already seen doctype”错误
    • This guy 似乎也有类似的问题。他通过将 URL 调整为类似于您已经尝试过的 URL 来修复它。你确定网址正确吗?看起来您缺少几个“//”,但这可能只是帖子......
    • 是的,如果我按照主题中讨论的方式进行操作,gradle 甚至不会尝试请求这样的 url。它说:“目标主机不能为空”。如果我尝试在浏览器中浏览结果 url(它看起来像:“username:passwork@bitbucket.org/...."),它甚至不会通过。它会自动谷歌搜索。也许我错过了什么?
    猜你喜欢
    • 2014-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-14
    相关资源
    最近更新 更多