我正在使用Jenkins和release maven插件。
我的Jenkins工作是一个“maven”类型的工作,并配置为:
1.使用标识符user@domain和访问令牌git克隆项目
1.使用Maven 3.8.3启动以下目标:
-B -X发布:清理发布:准备发布:执行
下面是maven release plugin的配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<arguments>${arguments}</arguments>
<tagNameFormat>@{project.version}</tagNameFormat>
</configuration>
</plugin>
字符串
下面是与git repo相关的pom部分:
<properties>
<java.version>8</java.version>
<project.scm.id>gitlab</project.scm.id>
</properties>
<scm>
<connection>scm:git:https://gitlab.some.domain/path/to/repo.git</connection>
<developerConnection>scm:git:ssh://[email protected]/path/to/repo.git</developerConnection>
<url>https://gitlab.some.domain/path/to/repo</url>
<tag>HEAD</tag>
</scm>
型
下面是用户设置文件:
<settings>
<servers>
<server>
<id>gitlab</id>
<username>user@domain</username>
<password>access token</password>
</server>
</servers>
</settings>
型
当运行Jenkins作业时,git clone部分是可以的。它使用Jenkins设置中提供的访问令牌凭证:user@domain/*(访问令牌)。
当涉及到maven发布插件git-push操作时,我在使用上面提供的用户设置文件时收到一个错误:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-release-plugin:3.0.1:prepare (default-cli) on project xxx: Unable to commit files
[ERROR] Provider message:
[ERROR] The git-push command failed.
[ERROR] Command output:
[ERROR] Permission denied, please try again.
[ERROR] Permission denied, please try again.
[ERROR] Received disconnect from 12.345.678.901 port 22:2:********@domain
[ERROR] Authentication failed.
[ERROR] fatal: Could not read from remote repository.
[ERROR]
[ERROR] Please make sure you have the correct access rights
[ERROR] and the repository exists.
[ERROR] -> [Help 1]
型
这会不会是因为用户名中的字符@?
1条答案
按热度按时间j2cgzkjk1#
我留下了一个SSH URL而不是HTTPS,所以它应该是:
字符串