如何将 GIT 的用户名和密码传递给 gradle 插件?



我正在尝试使用 gradle 发布插件发布,但每当插件使用 GIT 时,它都不会传递我的用户名和密码:

我调用它为:

我正在使用:

C:GradleReleaseTest>gradle --version
------------------------------------------------------------
Gradle 2.11
------------------------------------------------------------
Build time:   2016-02-08 07:59:16 UTC
Build number: none
Revision:     584db1c7c90bdd1de1d1c4c51271c665bfcba978
Groovy:       2.4.4
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.8.0_66 (Oracle Corporation 25.66-b18)
OS:           Windows 7 6.1 amd64

我的 gradle 版本配置如下所示:

release {
    failOnCommitNeeded = true
    failOnPublishNeeded = true
    failOnSnapshotDependencies = true
    failOnUnversionedFiles = true
    failOnUpdateNeeded = true
    revertOnFail = true
    preCommitText = ''
    preTagCommitMessage = '[Gradle Release Plugin] ${release.releaseVersion} - pre tag commit: '
    tagCommitMessage = '[Gradle Release Plugin] ${release.releaseVersion} - creating tag : '
    newVersionCommitMessage = '[Gradle Release Plugin] ${release.releaseVersion} - new version commit: '
    tagTemplate = '${version}'
    // May decide to add additional custom tasks here
    buildTasks = ['build']
    scmAdapters = [
        net.researchgate.release.GitAdapter
    ]
}

我得到的错误如下所示:

C:GradleReleaseTest>gradle release -Prelease.releaseVersion=1
.0.0 -Prelease.newVersion=1.0.1-SNAPSHOT -Prelease.username=jvergara -Prelease.p
assword=thePassword
:release
:com.mycompany.gradletest:createScmAdapter
:com.mycompany.gradletest:initScmAdapter
:com.mycompany.gradletest:checkCommitNeeded
:com.mycompany.gradletest:checkUpdateNeeded
Running [git, remote, update] produced an error: [bash: /dev/tty: No such device
 or address
error: failed to execute prompt script (exit code 1)
fatal: could not read Username for 'https://github.mycompany.com': Invalid ar
gument
error: Could not fetch origin]
:com.mycompany.gradletest:checkUpdateNeeded FAILED
:release FAILED
Release process failed, reverting back any changes made by Release Plugin.
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':checkUpdateNeeded'.
> Failed to run [git remote update] - [Fetching origin
][bash: /dev/tty: No such device or address
error: failed to execute prompt script (exit code 1)
fatal: could not read Username for 'https://git.mycompany.com': Invalid ar
gument
error: Could not fetch origin
]
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug
option to get more log output.
BUILD FAILED
Total time: 5.912 secs

我设法解决了这个问题。问题与插件完全无关,而是 git 本身的工作方式。

您要么必须

对凭据使用全局配置,要么必须使用本地配置

看,https://git-scm.com/docs/gitcredentials。我使用了本地版本,它工作得很好。

最新更新