相关疑难解决方法(0)

如何阻止Maven/Artifactory保留带有时间戳的快照

由于磁盘空间的考虑,我只希望在我的存储库中保留一个版本的任何快照.而不是保留带有时间戳后缀的多个版本

例如ecommerce-2.3-20090806.145007-1.ear

我怎么设置它?这是构建设置或存储库(Artifactory)设置

谢谢!

java maven-2 artifactory maven

20
推荐指数
2
解决办法
4万
查看次数

处理本地存储库中的旧快照的最佳方法?

我们有一个Nexus本地存储库管理器,它可以处理我们所有的内部项目(以及镜像外部存储库).对于我们的内部项目,我们只保留最新版本的快照构建.例如,如果我们有ProjectX 1.0,1.1和1.2-SNAPSHOT,一旦1.2发布,我们将删除1.2-SNAPSHOT,然后在我们的Nexus存储库中有1.0,1.1,1.2和1.3-SNAPSHOT.

问题是我们的Jenkins服务器在其本地.m2/repository文件夹中具有所有OLD快照,并继续针对这些旧快照成功构建项目,而实际上它们应该失败(我们的开发人员应该修复他们的POM文件.)

是否可以配置Maven(在settings.xml或pom.xml中)以删除Nexus存储库中不存在的这些不需要的快照?

如果没有,摆脱它们的最佳方法是什么?Jenkins配置,cron作业,其他选择?

谢谢...

build snapshot repository maven jenkins

12
推荐指数
2
解决办法
9638
查看次数

清除Maven本地存储库并保持最新状态?

如何从本地仓库中轻松删除所有陈旧的快照?

我的repo中的许多文件导致性能不佳,并且获取工件的时间很长.我想将repo保留到最新的快照.

我看到了依赖:purge-local-repository可以清除本地存储库,但我想保持最新状态.我可以轻松地创建一个脚本来完成这项工作(并将其包装在一个插件中),但如果已经有一个清除最新的工具,则不想重新发明轮子.

是否有一个插件可以清除我对最新快照或最后X个快照的依赖?

plugins repository maven

10
推荐指数
2
解决办法
1万
查看次数

Jenkins maven将jar部署到nexus - artifact命名

我的java/maven项目叫做"testproject",它与我的jenkins和nexus repo联系在一起:

我的pom.xml看起来像:

....    
<distributionManagement>
    <!-- use the following if you're not using a snapshot version. -->
    <repository>
        <id>nexus</id>
        <name>RepositoryProxy</name>
        <url>http://nexus:8080/nexus/content/repositories/releases</url>
    </repository>
    <!-- use the following if you ARE using a snapshot version. -->
    <snapshotRepository>
        <id>nexus</id>
        <name>RepositoryProxy</name>
        <url>http://nexus:8080/nexus/content/repositories/snapshots</url>
    </snapshotRepository>
</distributionManagement>
......
Run Code Online (Sandbox Code Playgroud)

在我的jenkins设置中,我有:

Build - maven3 - clean deploy
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,jenkins将工件上传到jenkins构建的控制台输出的Nexus.Look,如下所示:

[INFO] --- maven-jar-plugin:2.3.1:jar (default-jar) @ testproject ---
[INFO] Building jar: /var/lib/jenkins/workspace/testproject/target/testproject-0.1-SNAPSHOT.jar
[INFO] 
[INFO] --- maven-install-plugin:2.3.1:install (default-install) @ testproject ---
[INFO] Installing /var/lib/jenkins/workspace/testproject/target/testproject-0.1-SNAPSHOT.jar to /var/lib/jenkins/.m2/repository/com/dummy/testproject/0.1-SNAPSHOT/testproject-0.1-   SNAPSHOT.jar
[INFO] Installing /var/lib/jenkins/workspace/testproject/pom.xml to /var/lib/jenkins/.m2/repository/com/dummy/testproject/0.1-SNAPSHOT/testproject-0.1-SNAPSHOT.pom
[INFO] …
Run Code Online (Sandbox Code Playgroud)

nexus maven jenkins

6
推荐指数
1
解决办法
1万
查看次数

在 Android 库项目中指定 AAR 工件的部署文件名

我正在尝试配置 Android 库项目以将多个工件部署到本地托管的 Maven 存储库。我已经足够了,两个工件都生成了自己的 POM,并且使用以下脚本将其正确部署到存储库:

android {
    // Publish both debug and release
    publishNonDefault true
}

uploadArchives {
    repositories.mavenDeployer {
        def majorVersion = 1
        def minorVersion = 1
        def buildVersion = project.properties.get('RELEASE', '0').toInteger()

        addFilter('release') { artifact, file ->
            file.name.contains('release')
        }

        addFilter('debug') { artifact, file ->
            file.name.contains('debug')
        }

        activePomFilters.each { filter ->
            pom(filter.name) {
                groupId = 'com.redacted'
                artifactId = 'redacted'
                packaging = 'aar'
                version = "${majorVersion}.${minorVersion}.${buildVersion}"

                if (!project.hasProperty('RELEASE')) {
                    version += "-SNAPSHOT"
                }

                if (filter.name == 'debug') {
                    artifactId += …
Run Code Online (Sandbox Code Playgroud)

android gradle maven android-gradle-plugin

5
推荐指数
1
解决办法
2470
查看次数

如何在Jenkinsfile中将Artifactory discardOldBuilds设置为true?

我正在使用Jenkins Multibranch Pipelines实现构建作业.最后一步是将构建输出上传到Artifactory.

通过界面配置独立作业时,可以选择"从Artifactory中丢弃旧版本",这样我就可以保留与"要保留的最大版本数"设置中指定的相同数量的版本.

我的Jenkins文件中的上传阶段配置如下:https://wiki.jenkins-ci.org/display/JENKINS/Artifactory+-+Working+With+the+Pipeline+Jenkins+Plugin

...我的Jenkins文件中还有以下内容,它可以清理Jenkins工作区中的构建:

properties([[$class: 'BuildDiscarderProperty', strategy: [$class: 'LogRotator', numToKeepStr: '10']]])
Run Code Online (Sandbox Code Playgroud)

如何在我的Jenkinsfile中将discardOldBuilds设置为true,这样我还可以清理Artifactory中存储的构建版本?

artifactory jenkins jenkins-pipeline

5
推荐指数
1
解决办法
3661
查看次数