赞
踩
目前没有看到简单介绍gitlab当maven存储库的资料。于是整理了一篇,方便有需要的朋友少走弯路。
环境:GitLab Community Edition 13.8.2(12可能有差异,无法找到软件包的情况,有发现如何解决的朋友欢迎留言)
版本查看方式:在gitlab后台中查看,在你的部署域名中加上help,比如https://gitlab.xxxx.com/help
1.在gitlab创建一个新的安卓项目,在项目中选择“设置”-“仓库”-“部署令牌”-填入相关信息-创建部署令牌
填完之后会生成 ,token令牌**(要记下来,关闭之后就无法再查看token)**
2.发布配置: // 用于打包源代码的任务 即kt文件可以直接查看或者方便debug task androidSourcesJar(type: Jar) { archiveClassifier.set('sources') from android.sourceSets.main.java.srcDirs } afterEvaluate { publishing { publications { if (isDebugLib) { // 测试环境 debug(MavenPublication) { //应用发布版本变体的组件 from components.debug pom { name = mavenName //产物 此处仅为了上传源码包,也可自己定制处理其他逻辑 artifact androidSourcesJar description = mavenDescription //版本号 即: implementation 'com.google.android.material:material:1.4.0' 的1.4.0 version = mavenVersionDebug //即: implementation 'com.google.android.material:material:1.4.0' 的 material artifactId = mavenArtifactId //即: implementation 'com.google.android.material:material:1.4.0' 的 com.google.android.material groupId = mavenGroupId } } } else { // 正式环境 release(MavenPublication) { from components.release pom { name = mavenName description = mavenDescription version = mavenVersionRelease artifactId = mavenArtifactId groupId = mavenGroupId } } } } repositories { maven { //<这是要替换成自己的> 仓库地址和你们自己gitlab的浏览器地址栏那边的一样,项目id在项目名字的下方,token令牌就是刚刚需要记下来的令牌 url = "https://<仓库的域名,默认是gitlab.com>/api/v4/projects/<项目id>/packages/maven/" credentials(org.gradle.api.credentials.HttpHeaderCredentials) { name = "Deploy-Token" value = '<token令牌>' } authentication { header(HttpHeaderAuthentication) } } } } }
3.依赖配置:
repositories {
maven {
//仓库群组名就是gitlab项目目录的上一级
url "https://<仓库的域名,默认是gitlab.com>/api/v4/groups/<仓库的群组名>/-/packages/maven"
name "GitLab"
credentials(HttpHeaderCredentials) {
name = 'Deploy-Token'
value = '<token令牌>'
}
authentication {
header(HttpHeaderAuthentication)
}
}
}
取群组id是可以依赖整个群组(多项目)里发布的maven仓库的aar包。当然上面的url除了取群组id,也可以直接取发布之后的url(单项目,不过所有aar包都可以发布到同一项目),如下图
至此所有配置完毕,点击gradle的publish命令即可上传远端仓库
参考资料:https://docs.gitlab.com/ee/user/packages/maven_repository/index.html#publish-by-using-gradle
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。