打包步驟
生成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.
請(qǐng)選擇您要使用的密鑰類(lèi)型:
(1) RSA 和 RSA (默認(rèn))
(2) DSA 和 Elgamal
(3) DSA(僅用于簽名)
(4) RSA(僅用于簽名)
您的選擇是柏肪? 4
RSA 密鑰的長(zhǎng)度應(yīng)在 1024 位與 4096 位之間。
您想要使用的密鑰長(zhǎng)度常侣?(2048)
請(qǐng)求的密鑰長(zhǎng)度是 2048 位
請(qǐng)?jiān)O(shè)定這個(gè)密鑰的有效期限郭宝。
0 = 密鑰永不過(guò)期
<n> = 密鑰在 n 天后過(guò)期
<n>w = 密鑰在 n 周后過(guò)期
<n>m = 密鑰在 n 月后過(guò)期
<n>y = 密鑰在 n 年后過(guò)期
密鑰的有效期限是应闯?(0) 0
密鑰永遠(yuǎn)不會(huì)過(guò)期
這些內(nèi)容正確嗎? (y/N) y
GnuPG 需要構(gòu)建用戶(hù)標(biāo)識(shí)以辨認(rèn)您的密鑰。
真實(shí)姓名: dounine
電子郵件地址: xxxxx@gamil.com
注釋?zhuān)?for lake
您選定了此用戶(hù)標(biāo)識(shí):
“dounine (for lake) <xxxxx@gamil.com>”
更改姓名(N)纬霞、注釋?zhuān)–)、電子郵件地址(E)或確定(O)/退出(Q)蛋铆? O
我們需要生成大量的隨機(jī)字節(jié)馋评。在質(zhì)數(shù)生成期間做些其他操作(敲打鍵盤(pán)
、移動(dòng)鼠標(biāo)刺啦、讀寫(xiě)硬盤(pán)之類(lèi)的)將會(huì)是一個(gè)不錯(cuò)的主意留特;這會(huì)讓隨機(jī)數(shù)
發(fā)生器有更好的機(jī)會(huì)獲得足夠的熵。
gpg: 密鑰 87FC6DD218033D5F 被標(biāo)記為絕對(duì)信任
gpg: 吊銷(xiāo)證書(shū)已被存儲(chǔ)為‘/Users/huanghuanlai/.gnupg/openpgp-revocs.d/9C70D54B941D7831E4B97C8387FC6DD218033D5F.rev’
公鑰和私鑰已經(jīng)生成并被簽名玛瘸。
請(qǐng)注意這個(gè)密鑰不能用于加密蜕青。您可能想要使用“--edit-key”命令來(lái)
生成一個(gè)用于此用途的子密鑰。
pub rsa2048 2019-01-07 [SC]
9C70D54B941D7831E4B97C8387FC6DD218033D5F
uid dounine (for lake) <xxxxx@gamil.com>
上傳公鑰到兩臺(tái)服務(wù)器上
keys.gnupg.net 與 keyserver.ubuntu.com
gpg --keyserver keys.gnupg.net --send-keys 9C70D54B941D7831E4B97C8387FC6DD218033D5F
gpg: 正在發(fā)送密鑰 87FC6DD218033D5F 到 hkp://hkps.pool.sks-keyservers.net
gpg: 發(fā)送至公鑰服務(wù)器失敽ā:No route to host
gpg: 發(fā)送至公鑰服務(wù)器失斢液恕: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 是一個(gè)40位的密鑰渺绒,如果你把它復(fù)制上傳肯定會(huì)報(bào)這么一個(gè)錯(cuò)
The key ID must be in a valid form ...
keyId 其實(shí)就是pub最后面8位 或者使用gpg --list-keys --keyid-format short
查看
signing.keyId=18033D5F
signing.password=gpg設(shè)置的密碼
signing.secretKeyRingFile=/Users/lake/.gnupg/secring.gpg
#gpg 版本如果是2.0以上的話(huà)需要手動(dòng)導(dǎo)出secring.gpg
gpg --export-secret-keys > ~/.gnupg/secring.gpg
NEXUS_USERNAME=NEXUS帳號(hào)
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
發(fā)布到NEXUS倉(cāng)庫(kù)
gradle publish
最后一步
登錄 NEXUS倉(cāng)庫(kù)
找到自己上傳的項(xiàng)目贺喝,點(diǎn)擊close
等待close狀態(tài)全部通過(guò)即可發(fā)布Release版本