问题标签 [maven-scm-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
maven-2 - scm 插件在哪里存储凭据
如您所见,我没有 svn 凭据,我仍然可以签出项目。更多我认为maven将所有这些凭据存储在缓存中的某个位置,因为它没有将我的基本配置作为“checkoutDirectory”。任何人都可以请帮助如何清理缓存...或者我错过了一些东西:(
jenkins - Jenkins 如何为结帐拉取操作传递用户名和密码凭据
我有 Jenkins / Mercurial 最新版本。机器是 Red Hat Linux 6.6。
我在 Jenkins 中使用 Release 插件。Maven 插件(maven-scm-plugin、maven-version-plugin 和 maven-enforcer-plugin)用于在项目上进行发布过程。所有这些版本都使用最新的可用版本,并且配置设置正确。
在 Jenkins 工作中,我正在检查位于 RhodeCode (Mercurial hg) 后面的项目的源代码。
输出显示如下:
正如你在上面看到的,因为我们在 Mercurial DVCS 工具中指定了一个用户来执行读取/签出操作,所以 Jenkins 在启动 hg 命令时传递了一堆参数,即
--config auth.jenkins.prefix=* --config ******** --config ******** --config "auth.jenkins.schemes=http https"
当我使用 Maven SCM 插件及其目标时,我正在尝试找出如何发送相同的内容。
scm:checkin
scm:tag
等在调用时启动底层版本控制命令(在我的情况下,hg 分支、hg 传出、hg 推送命令)。
目前,上述 hg 命令失败是因为用户没有包含用户名和密码变量集的~/.hgrc文件,或者用户没有对目标RhodeCode /Mercurial 存储库的“写入”访问权限。
我尝试配置 ~/.hgrc 文件(根据 Mercurial 文档),如果您在此文件中指定的用户名对目标源代码存储库/项目具有有效的 WRITE 访问权限,则一切正常,则不会出现上述错误消息。
如果我在构建机器上安装/配置密钥环和 mercurial_keyring 扩展/插件(根据在线 mercurial 密钥环文档很容易),这也可以解决。
我想知道的是:
我如何将--config xxxxx参数传递给当Maven SCM 插件启动scm:checkin / scm:tag目标时调用的hg命令最终调用hg命令(hg传出,hg push)/所有 hg 命令而不设置 ~/.hgrc 并安装 mercurial_keyring?
git - 将 maven-scm-plugin 与 git 一起使用,而不以明文形式存储密码
我需要使用 maven-scm-plugin 导出/签出(默认分支)github 上的存储库。如果我在某处硬编码用户名/密码,我可以让它工作,但我不能让它使用 ssh 密钥或本地文件系统密码管理器。
在命令提示符下,我可以执行“git clone git@github.com:org/repo”或“git clone https://github.com/org/repo ”,它会完成而无需我手动重新输入用户名/密码详细信息。
在我的插件中,我可以将 connectionUrl 设置为 scm:git: https://github.com/org/repo并且我可以传递“-Dusername=foo -Dpassword=bar”。但是,我必须在某个地方拥有用户名/密码(foo/bar)在某处的纯文本中。
我已经看到了将它放在 setting.xml 中,将它们作为 args 传递,并将它们放在 pom 文件中的建议。而且我找到了支持 ssh 连接的证据。但是,我找不到 ssh 连接或 https 连接的实际用途,其中您在某处没有纯文本密码。有什么建议吗?
我得到了以下工作(如果我通过 -Dusername= -Dpassword=):
git - Maven 发布插件在 git push 错误时显示明文密码
我在跑
并查看输出中的行:
但如果由于某种原因git push
失败(例如我输入密码错误),那么我会在日志中看到
所以我看到了 PLAINTEXT 密码。当我在 Teamcity 上使用此步骤时,如果构建失败,当其他人可以看到我的密码时,它会导致安全问题。我在 Linux 和 Windows 机器上都试过了。
我使用 maven-release-plugin 版本 2.5.3。
有人知道如何解决吗?
maven - 使用 Maven scm:checkin 提交对模块项目的更改
我有一个多模块 POM 文件:
每个模块本身都是一个具有自己 POM 的 Maven 项目。在这些 POM 中的每一个中,我都有这样指定的scm
标签developerConnection
:
我的目标是运行以下 Maven 目标/选项:
我的预期结果是:
- 每个模块的 POM 的父级都更新为最新发布的版本。
- 对每个 POM 的更改将签入到模块的 POM 中指定的 SVN 路径中。例如
project1
POM 使用路径签入,使用project1
<scm>/<developerConnection>
路径project2
签入project2
等。
实际结果:
- 每个模块的 POM 的父级更新到最新发布的版本。这按预期工作。
- 只有多模块 POM 被签入到 SVN,没有一个模块 POM 被签入。这就是问题所在。
有没有办法实现上述预期结果,或者这是 SCM 插件根本没有设计做的事情?如果可能的话,我将如何修改我所拥有的以获得我想要的结果?
注意:我不能更改项目结构 - 我不能将模块放在父项目中,它们必须保持独立。
不确定它是否相关,但我使用的是 Maven 3.3.9。
java - Maven scm 添加到子模块的存储库名称
我有一个java应用程序。它是使用 maven 构建的,它有父模块和子模块。
当应用程序构建成功时,我需要将提交版本号推送到 git。
这是我的POM:
父 pom.xml
子服务器/pom.xml
Maven日志
为什么 maven-scm-plugin 推入 git pushgit@10.72.0.99:project/service.git/server master:master
当正确的存储库git@10.72.0.99:project/service.git
如何修复此功能?
java - 在 maven-scm-publish-plugin 中使用备用 scm 提供程序
我想使用 Maven 从远程 SVN 更新本地项目(无需安装 SVN 命令)我正在尝试在 maven-scm-publish-plugin 中使用备用 scm 提供程序,示例插件配置如下所示:
来源:http ://maven.apache.org/plugins/maven-scm-publish-plugin/various-tips.html
但执行后mvn scm:update
它在 Maven 日志中
[信息] --- maven-scm-plugin:1.9.5:update (default-cli) @ testscm ---
[信息] 执行:/bin/sh -c cd /home/stanimir/ProjectSvnTest && svn --non-interactive update /home/stanimir/ProjectSvnTest
和错误:svn not found
-我知道..它没有安装在系统上。我想改用svnkit,但是这个插件如何使用javasvn?
maven - Maven SCM插件,如何设置failOnError = false
如何配置 Maven SCM 插件以在 scm 结帐期间忽略错误?(诸如“权限被拒绝”或其他错误)。我知道<failOnError>false</failOnError>
其他插件中的配置属性,但是这个插件没有这样的选项(或者我没有在文档中找到它)。
这是我的 pom.xml 部分:
maven - 在 Maven 发布期间提交附加文件:如果我们需要先将其添加到版本控制中怎么办?
有没有一种已知的方法可以在 Maven 发布期间提交对附加文件的更改,并在必要时将该文件添加到版本控制中?
我们有一个在构建过程中可能会更改的资源文件,我们希望在 Maven 发布期间提交对该文件的任何更改,以便最准确的版本反映在我们的标签中。
我们可以通过配置 maven-scm-plugin 来检查对我们文件的更改,并添加scm:checkin
到preparationGoals
maven-release-plugin 中来获得大部分方法,如下所示:
这种方法可以很好地处理对现有资源文件的新更改。不幸的是,当我们的构建生成一个尚未添加到版本控制的新资源文件时,它会失败:
虽然我们可以通过添加scm:add
to 来解决这种情况,但是当我们的资源文件添加到版本控制时preparationGoals
,这种方法会中断:
我确信我可以让 Maven 调用一些外部脚本来为我们处理这个问题,但如果可能的话,我宁愿将这个逻辑保留在 Maven 本身中。
java - 配置 Maven scm 插件以使用来自 settings.xml 的 serverID
我有一个设置了一些服务器的 settings.xml 文件:
我在这里读到,无法为 scm 插件设置特定服务器,并且您必须在 pom.xml 中添加一个属性
这是我的 pom.xml
我尝试运行 mvn versions:update-parent 并且我的构建失败了
svn: E170001: ' https://xxx:443 Subversion Repository 'xxx'需要验证
这是Maven命令:
我尝试使用未加密的密码,但它也不起作用......
谢谢你的帮助!