爲了將阿里雲短信開箱即用發佈到Jcenter倉庫,前先後後花費了1天半的時間,把端午節都搭進去了。終於今天收到了Jcenter的消息,本身發佈的包被添加到了Jcenter倉庫,也算給開源社區作了次小貢獻😁😁😁。html
如今記錄下踩過的坑。java
要注意的地方,Jcenter帳號跟國內同樣分爲社區版和企業版,企業版固然是要付費的,並且很坑的是點進Bintray官網,首先映入眼簾的就是大大的Start Your Free Trial
(開始免費試用),一開始我就註冊了企業版帳號,後來刪號重建了😂。咱們應該點這裏:git
填寫信息後註冊,我是直接使用的Github帳號註冊。github
點擊右上角View Profile
web
在帳號信息下方,咱們點擊Add New Repository
,建立新的倉庫。spring
在填寫信息的時候,選擇Public(Private是須要付錢的,你們都懂),若是你是maven項目,倉庫名最好填寫maven,由於我在申請Add To Jcenter
時,第一次失敗了,要求我把項目放在maven路徑下。網絡
建立完倉庫,就是建立包了,沒什麼好說的,你的應用叫啥名,包就叫啥名就行。app
建立完能夠看到包的基本信息:maven
這裏使用的是開源項目bintray-release,官方文檔bintray-release/wikiide
主要在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填寫。