9

私は新しい gradle ユーザーとして gradle ビルドを作成していますが、過去に maven を使用したことがあります。

Mavenリリースプラグインのアクションを再現しようとしています:

  • ブランチ バージョンをリリース番号に変更 (svn でコミット)
  • タグを作成する (svn で)
  • Nexus OSS にリリース タグをデプロイする
  • ブランチ バージョンを新しいスナップショット番号に変更します (svn でコミット)

ご覧のとおり、私は次のものを使用しています:

  • バージョン管理リポジトリとしての Nexus OSS
  • scmとしてのSVN
  • グラドル (2.8)

次の 2 つのプラグインを使用して目的を達成しようとしています。

  1. Gradle リリース プラグイン:

    • ブランチ バージョンをリリース番号に変更 (svn でコミット)
    • タグを作成する (svn で)
    • ブランチ バージョンを新しいスナップショット番号に変更します (svn でコミット)

    コマンド ライン: gradle リリース

  2. Nexus にデプロイするMaven Publish プラグイン:

    コマンド ライン: gradle パブリッシュ

リリースを生成し、それをワンショットで Nexus に自動的にデプロイする方法はありますか?

以下は私のbuild.gradleです:

plugins {
    id 'net.researchgate.release' version '2.3.4'
}

apply plugin: 'maven-publish'


/*------------------------
----- PUBLISH PLUGIN -----
--------------------------
https://docs.gradle.org/current/userguide/publishing_maven.html
--------------------------*/
publishing {
    publications {
        maven(MavenPublication) {
            groupId mavenGroup
            artifactId mavenArtifact
            version version

            from components.java
        }
    }
    repositories {
        maven {
            if(project.version.endsWith('-SNAPSHOT')) {
                url "${nexusUrl}/content/repositories/repo-snapshots"
            } else {
                url "${nexusUrl}/content/repositories/repo-releases"
            }
            credentials {
                username nexusUsername
                password nexusPassword
            }
        }
    }
}

/*------------------------
----- RELEASE PLUGIN -----
--------------------------
https://github.com/researchgate/gradle-release
--------------------------*/
release {
    failOnCommitNeeded = false 
    failOnUnversionedFiles = false

    scmAdapters = [
        net.researchgate.release.SvnAdapter
    ]
}
4

1 に答える 1