前言
为了将阿里云短信开箱即用发布到Jcenter仓库,前前后后花费了1天半的时间,把端午节都搭进去了。终于今天收到了Jcenter的消息,自己发布的包被添加到了Jcenter仓库,也算给开源社区做了次小贡献😁😁😁。
现在记录下踩过的坑。
注册Jcenter账号
要注意的地方,Jcenter账号跟国内一样分为社区版和企业版,企业版当然是要付费的,而且很坑的是点进Bintray官网,首先映入眼帘的就是大大的Start Your Free Trial
(开始免费试用),一开始我就注册了企业版账号,后来删号重建了😂。我们应该点这里:
填写信息后注册,我是直接使用的Github账号注册。
创建Repository
点击右上角View Profile
在账号信息下方,我们点击Add New Repository
,创建新的仓库。
在填写信息的时候,选择Public(Private是需要付钱的,大家都懂),如果你是maven项目,仓库名最好填写maven,因为我在申请Add To Jcenter
时,第一次失败了,要求我把项目放在maven路径下。
创建Package
创建完仓库,就是创建包了,没什么好说的,你的应用叫啥名,包就叫啥名就行。
创建完可以看到包的基本信息:
打包上传
这里使用的是开源项目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,其他的都执行。
看到以上信息,证明发布成功了。
Add To Jcenter
发布成功后,你应该会在Package的Files标签下看到你上传的文件
我们点击右上角Actions下的Add To Jcenter
填写信息,两个复选框我都勾选了,然后填写Group Id,填上应用说明(最好用英文),然后等着就行了。
一般来说1~3天你将会收到一封邮件,通知你的申请通过没有,如下
👉如果没有通过,也会告诉你怎么改,所以不用担心。
这时候再打开Bintray的Package页面,会发现Included In Jcenter
,证明已经被Jcenter收录了,其他人就可以正常使用啦。
Travis CI持续集成
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填写。
参考文档
来源:https://www.cnblogs.com/gcdd/p/12292404.html