【问题标题】:Commit Maven assembly from Jenkins workspace to SVN将 Jenkins 工作区中的 Maven 程序集提交到 SVN
【发布时间】:2018-10-06 19:58:56
【问题描述】:

我想知道是否有办法创建一个 Job inJenkins 提交一个 Maven 程序集存档,其中包含我不知道的敏感数据想要在 Nexus 中分享,由 Maven 目标

生成
-X -Pprod clean install 

Jenkins-Workspace/project/target/archive-prod.tar.gz

到我的 SVN 存储库 像这样

    |branches
    |trunk
    |tags
       |project-version
       |project-config-version
           |archive-prod.tar.gz

谢谢

【问题讨论】:

  • 抱歉,我只是不明白你喜欢做什么和/或你想解决什么样的问题?但如果我理解的是:您想构建一个 tar.gz 并在 SVN 中提交它?如果这是正确的,我会说你做错了什么?或者请解释一下你为什么喜欢这样做?
  • 是的,这是可能的。但是,我想知道您为什么要这样做而不是将该工件发布到 Nexus 等回购管理器。
  • 我更新了这个问题,所以我已经有一份工作在 Nexus (pom.xml + war 文件) 中进行了发布。我想创建一个作业,将我生成的存档(敏感数据)提交到我的存储库
  • 我再问一次,为什么要将档案放入版本控制系统,而不是像 Nexus/Artifactory 这样的存储库管理器,它专门用于与您的版本控制系统相矛盾的事情?你想解决什么样的问题?
  • SVN 存储库是私有的 (my-entity) 而 Nexus 是公共的 (all-entities) ,因此像 application.properties 等敏感数据应该只归档和存储在 myrepo/tags/appVersion -config ... 正如我在问题中所说的 Nexus 应该只包含 war + pom.xml

标签: java maven jenkins pom.xml


【解决方案1】:

如果你确定你真的想要这个,我不确定它是否有插件,但你可以编写脚本。

在构建中添加一个 shell 步骤,使用 svn 命令执行命令行操作。确保所需代理上的 svn 命令具有提交文件的凭据和访问权限。

如果您的工作是 Maven 风格的工作,您将需要一个后期构建步骤。但更好的是,只需创建一个新的 Freestyle 作业,其中 Maven 部分只是一个常规步骤并添加新的 shell 步骤。

【讨论】:

    猜你喜欢
    • 2015-03-22
    • 2017-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多