gradle - 如何将jar发布到NEXUS存储库

标签 gradle jenkins-pipeline build.gradle

我想从Gradle项目中构建一个jar,并将其推送到nexus存储库。作为此过程的一部分,我创建了一个Jenkins文件,并在build.gradle中添加了一个任务“发布”任务。
我的 Jenkins 文件:

pipeline {
    agent any
        environment {
        NEXUS = credentials('nexus-user')
    }   
    options {
        ansiColor('xterm')
        buildDiscarder logRotator(daysToKeepStr: '30', numToKeepStr: '100')
    }
    triggers { pollSCM('H/5 * * * *') }
    stages {
        stage('Checkout'){
            steps { checkout scm }
        }
        stage('Build') {
            steps { sh "./gradlew assemble" }
        }
        
        stage('deploy') {
             steps {                     
                 sh "gradle -Duser.home=\"$WORKSPACE\" --gradle-user-home=\"$WORKSPACE/.gradle\" -PnexusUsername=$NEXUS_USR -PnexusPassword=$NEXUS_PSW publish"
                 
            }
        }   
        
    } 
}
然后build.gradle
publishing {
    publications{
        maven(MavenPublication){
            artifactId = "testApp"
            from components.java
        }
    }
    repositories {
        maven {
            url = "http://localhost:8081/nexus/content/repositories/${version.endsWith('-SNAPSHOT') ? "snapshots" : "releases"}"
            credentials {
                username = "Dont know how to pass the username here" 
                password = "Dont know how to pass the password here"
            }
        }
    }
}
谁能告诉我如何从Gradle获取用户名和密码,并在此处设置将jar发布到nexus。

最佳答案

答案是:

publishing {
    publications{
        maven(MavenPublication){
            artifactId = "testApp"
            from components.java
        }
    }
    repositories {
        maven {
            url = "http://localhost:8081/nexus/content/repositories/${version.endsWith('-SNAPSHOT') ? "snapshots" : "releases"}"
            credentials {
                username = "nexusUsername" 
                password = "nexusPassword"
            }
        }
    }
}

关于gradle - 如何将jar发布到NEXUS存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64664958/

相关文章:

jenkins - 我可以在Jenkins CI上加快Gradle守护进程的启动速度吗?

android - Gradle 同步失败 - play-services-measurement-base

gradle - Gradle,Javadoc和JDK版本

jenkins - Jenkins 管道脚本中的 Try-catch block

android - SDK 构建工具更新到 23.1 rc1 后出现意外顶级异常

groovy - 在 gradle 复制任务中设置 filter() 调用的编码

Linux Jenkins 测试 Windows 共享中是否存在文件

Jenkins 多分支管道不安排标记作业

java - 使用 bmuschko/gradle-docker-plugin 进行 Gradle 清理任务

android - 配置后无法创建变体 'android-lint'