当前位置:   article > 正文

GitLab配置maven Repository仓库使用_gitlib repositories

gitlib repositories

目前没有看到简单介绍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)
                }
            }
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58

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)
		}
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

取群组id是可以依赖整个群组(多项目)里发布的maven仓库的aar包。当然上面的url除了取群组id,也可以直接取发布之后的url(单项目,不过所有aar包都可以发布到同一项目),如下图
在这里插入图片描述

至此所有配置完毕,点击gradle的publish命令即可上传远端仓库
在这里插入图片描述

参考资料:https://docs.gitlab.com/ee/user/packages/maven_repository/index.html#publish-by-using-gradle

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/130577
推荐阅读
相关标签
  

闽ICP备14008679号