我创建了一个 Codefresh 管道来将工件部署到 Gitlab Package Registry。源代码也在Gitlab 中。
我可以使用 Gitlab 个人访问令牌发布我的工件,但是当我尝试使用 Gitlab 部署令牌来发布我的工件时,无论我是否使用 Codefresh,它都会失败(401 未经授权的错误)。
我已经使用 Gradle 定义了它,以发布到 Gitlab 包注册表:
repositories {
maven {
url "https://gitlab.com/api/v4/projects/<group_id>/packages/maven"
credentials(HttpHeaderCredentials) {
name = "Private-Token"
value = '<private_token>'
}
authentication {
header(HttpHeaderAuthentication)
}
}
}
Run Code Online (Sandbox Code Playgroud)
我使用了权限<group_id>和<private_token>值,出于安全原因,它们在此处进行了更改。
如果我在 中提供我的个人访问令牌<private_token>,我可以毫无问题地发布到 Gitlab 包注册表。但是当我使用生成的部署令牌时,它失败了。我的个人访问令牌和部署令牌都具有相同的名称和用户名(在部署令牌的情况下)。
我收到 401 未经授权的错误:
* What went wrong:
Execution failed for task ':publishMavenJavaPublicationToMavenRepository'.
> Failed to publish publication 'mavenJava' to repository 'maven'
> Could not write to resource 'https://gitlab.com/api/v4/projects/<group_id>/packages/maven/mypackageroute/mypackage/0.1/mypackage-0.1.jar'.
> …Run Code Online (Sandbox Code Playgroud) 我是Groovy的新手,我有一个非常简单的问题.
我知道如何在Java中将单个元素添加到现有列表中,但我想在Groovy中有更快的方法,但我不知道如何...
假设我有一个域对象Obj1,它将构造函数中的参数作为Obj2类型的列表:
def obj2 = <getObj2Instance in any way>
def obj1 = new Obj1(list: obj2)
Run Code Online (Sandbox Code Playgroud)
我想知道这是否正确.