原文:gcdd1993.github.io/發佈開源項目到Jcen…html
爲了將阿里雲短信開箱即用發佈到Jcenter倉庫,前先後後花費了1天半的時間,把端午節都搭進去了。終於今天收到了Jcenter的消息,本身發佈的包被添加到了Jcenter倉庫,也算給開源社區作了次小貢獻😁😁😁。java
如今記錄下踩過的坑。git
要注意的地方,Jcenter帳號跟國內同樣分爲社區版和企業版,企業版固然是要付費的,並且很坑的是點進Bintray官網,首先映入眼簾的就是大大的Start Your Free Trial
(開始免費試用),一開始我就註冊了企業版帳號,後來刪號重建了😂。咱們應該點這裏:github
填寫信息後註冊,我是直接使用的Github帳號註冊。web
點擊右上角View Profile
spring
在帳號信息下方,咱們點擊Add New Repository
,建立新的倉庫。bash
在填寫信息的時候,選擇Public(Private是須要付錢的,你們都懂),若是你是maven項目,倉庫名最好填寫maven,由於我在申請Add To Jcenter
時,第一次失敗了,要求我把項目放在maven路徑下。網絡
建立完倉庫,就是建立包了,沒什麼好說的,你的應用叫啥名,包就叫啥名就行。app
建立完能夠看到包的基本信息:maven
這裏使用的是開源項目bintray-release,官方文檔bintray-release/wiki
主要在build.gradle
裏添加以下信息
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.novoda:bintray-release:0.9.1'
}
}
apply plugin: 'com.novoda.bintray-release'
publish {
userOrg = '你的Bintray用戶名'
groupId = '應用的groupId,例如:io.github.gcdd1993'
artifactId = '應用的名稱,例如:ali-sms-spring-boot-starter'
publishVersion = '應用的版本號,例如:1.0.0.RELEASE'
desc = '一句話概述你的應用幹啥的'
website = '應用連接,通常寫github地址就行,例如:https://github.com/gcdd1993/ali-sms-spring-boot-starter'
}
/** * 如下是我本身加的 * 第一個解決Gradle Task:jar skipped的問題 * 第二個解決javaDoc 'UTF-8'亂碼問題 */
jar {
enabled = true
}
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
複製代碼
接下來執行gradle
命令:
./gradlew bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false
複製代碼
本地測試能夠把-PdryRun=false
改成-PdryRun=true
,這樣就不會幫你上傳到Bintray,其餘的都執行。
看到以上信息,證實發布成功了。
發佈成功後,你應該會在Package的Files標籤下看到你上傳的文件
咱們點擊右上角Actions下的Add To Jcenter
填寫信息,兩個複選框我都勾選了,而後填寫Group Id,填上應用說明(最好用英文),而後等着就好了。
通常來講1~3天你將會收到一封郵件,通知你的申請經過沒有,以下
👉若是沒有經過,也會告訴你怎麼改,因此不用擔憂。
這時候再打開Bintray的Package頁面,會發現Included In Jcenter
,證實已經被Jcenter收錄了,其餘人就能夠正常使用啦。
Travis CI是什麼就不介紹了,不明白的能夠看下阮一峯的網絡日誌-持續集成服務 Travis CI 教程,Github公開倉庫免費的持續集成工具。
項目根目錄添加.travis.yml
,填入如下信息(針對Gradle搭建的Java項目適用)
language: java
sudo: required
dist: xenial
jdk:
- openjdk8
branches:
only:
- master
before_cache:
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
cache:
directories:
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/
before_install:
- chmod +x gradlew
install:
- ./gradlew jar
script:
- ./gradlew bintrayUpload -PbintrayUser=${bintray_user} -PbintrayKey=${bintray_key} -PdryRun=false
複製代碼
其中變量${bintray_user}
和${bintray_key}
是Travis CI運行時環境變量,請到Travis CI Settings填寫。