当前位置: 首页 > 知识库问答 >
问题:

如何将Jenkins的Gradle项目生成的工件发布到Nexus

高博涉
2023-03-14
uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: 'http://releasesrepo')
            snapshotRepository(url: 'http://snapshotsrepo')
        }
    }
}

这个构建将作为一个自由式项目从Jenkins运行,所以我只需要在build-invoke Gradle script-tasks->build upload中指定

从Jenkins配置Nexus凭据并将其传递给Gradle taks的正确方法是什么(我不想在带有源代码的Git repo中使用它们)?

共有1个答案

林玮
2023-03-14

有三种不同的方式:

1.使用环境变量

def nexusUser = hasProperty('nexusUsername') ? nexusUsername : System.getenv('nexusUsername')
def nexusPassword = hasProperty('nexusPassword') ? nexusPassword : System.getenv('nexusPassword')
def nexusReleaseUrl = hasProperty('nexusReleaseUrl') ? nexusReleaseUrl : System.getenv('nexusReleaseUrl')
def nexusSnapshotUrl = hasProperty('nexusSnapshotUrl') ? nexusSnapshotUrl : System.getenv('nexusSnapshotUrl')

repositories {
    mavenDeployer {
        repository(url: nexusReleaseUrl) {
            authentication(userName: nexusUser, password: nexusPassword);
        }
        snapshotRepository(url: nexusSnapshotUrl) {
            authentication(userName: nexusUser, password: nexusPassword);
        }
    }

}

nexusUser=user
nexusPass=password

uploadArchives {
  def nexusUser = "${nexusUsername}"
  def nexusPassword = "${nexusPassword}"

  repositories {
    mavenDeployer {
        repository(url: 'your nexus releases') {
            authentication(userName: nexusUser, password: nexusPassword);
        }
        snapshotRepository(url: 'your nexus snapshot') {
            authentication(userName: nexusUser, password: nexusPassword);
        }
    }
  }
}
 类似资料:
  • 我已经配置Gradle使用新的Maven Publisher插件发布项目工件,不幸的是,这个插件在生成的中存在依赖关系问题-依赖关系的范围而不是。 我的配置是这样的: 发布很简单,只需一个命令: 如何以旧的(工作)方式实现这一点?项目发布时是否可以自动进行项目标记?

  • 我有什么似乎是一个简单的问题,关于如何设置Jenkins和maven 3。 为了简单起见,假设我们有四个项目: 没有依赖关系的模型 Commons依赖于模型 服务器依赖于Common和模型 前端依赖于模型 我想要实现的是,一个成功的基于模型的构建触发所有项目的新构建,这些项目在其pom中依赖于模型(这里是公共的,服务器和前端) 如果Common失败,则无需构建服务器。 在上述情况下,我似乎可以通过

  • null 当我运行./gradlew artifactoryPublish时,它将记录: 尝试从其他生成加载插件。Gradle: 带设置。分级: 导致此错误: 我希望在运行ArtiFactoryPublish时,将publishToMavenLocal创建的所有工件发布到Artifactory。如果artifactoryPublish是错误的工具,我愿意接受它的替代方法。 如何将Gradle插件发

  • 当我试图使用Jenkins发布Maven项目时,我遇到了这样的错误: 无法执行目标组织。阿帕奇。专家plugins:maven release plugin:2.5:project上的prepare(默认cli)maven plugin:reactor projects列表中没有快照项目。

  • 我有一个非常基本的Gradle构建文件: 这是通过詹金斯执行的,看起来工作正常: 归档工件:[DefaultPublishArtifact_装饰模块-0.0.post0.dev6 n4c62094-py2.7:egg:egg:null] [buildinfo]属性文件位于“/tmp/buildInfo65481565498521”。财产 : artifactoryPublish 正在将生成描述符部

  • 我已经用Gradle创建了一个JavaFX应用程序,并希望将它及其所有依赖项和JRE导出到exe中,最好的方法是什么? 我尝试使用Gradle-launch4j提供的快速启动,但exe没有启动,而是在IDE中启动,当我从命令行运行时,我得到错误