Gradle - 打包上傳Maven倉庫

打包步驟

生成gpg密鑰

gpg --full-generate-key
gpg (GnuPG) 2.2.12; Copyright (C) 2018 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

請選擇您要使用的密鑰類型:
   (1) RSA 和 RSA (默認)
   (2) DSA 和 Elgamal
   (3) DSA(僅用于簽名)
   (4) RSA(僅用于簽名)
您的選擇是? 4
RSA 密鑰的長度應在 1024 位與 4096 位之間。
您想要使用的密鑰長度?(2048)
請求的密鑰長度是 2048 位
請設定這個密鑰的有效期限。
         0 = 密鑰永不過期
      <n>  = 密鑰在 n 天后過期
      <n>w = 密鑰在 n 周后過期
      <n>m = 密鑰在 n 月后過期
      <n>y = 密鑰在 n 年后過期
密鑰的有效期限是?(0) 0
密鑰永遠不會過期
這些內容正確嗎? (y/N) y

GnuPG 需要構建用戶標識以辨認您的密鑰。

真實姓名: dounine
電子郵件地址: xxxxx@gamil.com
注釋: for lake
您選定了此用戶標識:
    “dounine (for lake) <xxxxx@gamil.com>”

更改姓名(N)、注釋(C)、電子郵件地址(E)或確定(O)/退出(Q)? O
我們需要生成大量的隨機字節。在質數生成期間做些其他操作(敲打鍵盤
、移動鼠標、讀寫硬盤之類的)將會是一個不錯的主意;這會讓隨機數
發生器有更好的機會獲得足夠的熵。
gpg: 密鑰 87FC6DD218033D5F 被標記為絕對信任
gpg: 吊銷證書已被存儲為‘/Users/huanghuanlai/.gnupg/openpgp-revocs.d/9C70D54B941D7831E4B97C8387FC6DD218033D5F.rev’
公鑰和私鑰已經生成并被簽名。

請注意這個密鑰不能用于加密。您可能想要使用“--edit-key”命令來
生成一個用于此用途的子密鑰。
pub   rsa2048 2019-01-07 [SC]
      9C70D54B941D7831E4B97C8387FC6DD218033D5F
uid                      dounine (for lake) <xxxxx@gamil.com>

上傳公鑰到兩臺服務器上
keys.gnupg.net 與 keyserver.ubuntu.com

gpg --keyserver keys.gnupg.net --send-keys 9C70D54B941D7831E4B97C8387FC6DD218033D5F
gpg: 正在發送密鑰 87FC6DD218033D5F 到 hkp://hkps.pool.sks-keyservers.net
gpg: 發送至公鑰服務器失敗:No route to host
gpg: 發送至公鑰服務器失敗:No route to host
# 不要慌,使用IP地扯即可 ping keys.gnupg.net 得到 51.38.91.189 地扯
gpg --keyserver 51.38.91.189 --send-keys 9C70D54B941D7831E4B97C8387FC6DD218033D5F
gpg --keyserver keyserver.ubuntu.com --send-keys 9C70D54B941D7831E4B97C8387FC6DD218033D5F

~/.gradle/gradle.properties 配置
pub 是一個40位的密鑰,如果你把它復制上傳肯定會報這么一個錯

 The key ID must be in a valid form ...

keyId 其實就是pub最后面8位 或者使用gpg --list-keys --keyid-format short查看

signing.keyId=18033D5F
signing.password=gpg設置的密碼
signing.secretKeyRingFile=/Users/lake/.gnupg/secring.gpg

NEXUS_USERNAME=NEXUS帳號
NEXUS_PASSWORD=NEXUS密碼
NEXUS_EMAIL=email

build.gradle 演示案例配置文件

group = 'com.dounine.scala'
version = '1.0.0'
apply plugin: 'signing'
apply plugin: 'scala'
apply plugin: 'maven-publish'
sourceCompatibility = 1.8
task sourcesJar(type: Jar) {
    from sourceSets.main.allJava
    classifier = 'sources'
}
task javadocJar(type: Jar) {
    from javadoc
    classifier = 'javadoc'
}
publishing {
    publications {
        mavenJava(MavenPublication) {
            artifactId = 'scala-filebeat'
            from components.java
            artifact sourcesJar
            artifact javadocJar
            pom {
                name = 'scala-filebeat'
                description = 'scala version filebeat'
                url = 'https://github.com/dounine/scala-filebeat'
                licenses {
                    license {
                        name = 'The Apache License, Version 2.0'
                        url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
                    }
                }
                developers {
                    developer {
                        id = 'lake'
                        name = 'lake'
                        email = 'hello@gmail.com'
                    }
                }
                scm {
                    connection = 'scm:git:git://github.com/dounine/scala-filebeat.git'
                    developerConnection = 'scm:git:ssh://github.com/dounine/scala-filebeat.git'
                    url = 'https://github.com/dounine/scala-filebeat'
                }
            }
        }
    }
    repositories {
        maven {
            def releasesRepoUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2/"
            def snapshotsRepoUrl = "https://oss.sonatype.org/content/repositories/snapshots/"
            url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
            credentials {
                username NEXUS_USERNAME
                password NEXUS_PASSWORD
            }
        }
    }
}
jar {
    manifest {
        attributes 'Implementation-Title': 'ScalaFilebeat',
                'Implementation-Version': version
    }
}
signing {
    sign publishing.publications.mavenJava
}
repositories {
    mavenLocal()
    mavenCentral()
}
dependencies {
    compile 'org.scala-lang:scala-library:2.11.12'
    compile group: 'commons-io', name: 'commons-io', version: '2.6'
}

打包

gradle clean build -xtest -Ppro

發布到NEXUS倉庫

gradle publish

最后一步

登錄 NEXUS倉庫
找到自己上傳的項目,點擊close

等待close狀態全部通過即可發布Release版本



?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,882評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,208評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,746評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,666評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,477評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,960評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,047評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,200評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,726評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,617評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,807評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,327評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,049評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,425評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,674評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,432評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,769評論 2 372

推薦閱讀更多精彩內容