原文: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填写。