Android Gradle 项目中私有 Maven 存储库的 Gitlab 代理问题

Gitlab Proxy issue with Private Maven repository in Android Gradle project

提问人:Ionut Negru 提问时间:11/14/2023 更新时间:11/14/2023 访问量:34

问:

我有一个使用 Gitlab 进行 CI/CD 的 Android 项目。Gitlab 位于代理后面,不容易访问,但来自其他存储库的依赖项按预期工作。例如:

 google()
 mavenCentral()
 maven { url 'https://jitpack.io' }

现在,我还有一个使用身份验证的私有自定义 maven。我已经设置了所有内容,并且在本地,机器不在代理后面,它工作正常:

    maven {
        name 'myCustomRepositoryTestDebug'
        credentials {
            username project.findProperty('myMavenRepoUser') ?: System.getenv("CI_MY_MAVEN_REPO_USER")
            password project.findProperty('mnyMavenRepoPassword') ?: System.getenv("CI_MY_MAVEN_REPO_PASSWORD")
        }
        url 'https://myapi.something.me/repo/test-debug'
    }
    maven {
        name 'myCustomRepositoryTestRelease'
        credentials {
            username project.findProperty('myMavenRepoUser') ?: System.getenv("CI_MY_MAVEN_REPO_USER")
            password project.findProperty('myMavenRepoPassword') ?: System.getenv("CI_MY_MAVEN_REPO_PASSWORD")
        }
        url 'https://myapi.custom.me/repo/test-release'
    }

在 Gitlab 工作上,我得到了:

Could not resolve com.mylibrary:MyLibrary-release:5.0.0.
     > Could not get resource 'https:/myapi.custom.me/repo/test-release/com/mylibrary/MyLibrary-release/5.0.0/MyLibrary-release-5.0.0.pom'.
        > Could not GET 'https://myapi.custom.me/repo/test-release/com/mylibrary/MyLibrary-release/5.0.0/MyLibrary-release-5.0.0.pom'. Received status code 503 from server: Service Unavailable

有时我得到代码 500。不知道为什么它并不总是一样的。

在当地,一切都很完美。 我在 Gitlab 上错过了什么?

PS:我无法直接访问运行器或托管 Gitlab 的机器。

Android Maven Gradle 代理 GitLab

评论


答:

0赞 Hui Jin 11/14/2023 #1

如果你在 github 中有代理问题,你可以在 gitbash 中执行“git config --global http.proxy 172.25.1.2:3129”。 或者,您可以在android studio中添加代理设置。

评论

0赞 Ionut Negru 11/14/2023
在本地它工作正常,但 Gitlab 实例位于代理后面,这就是它不起作用的原因,尽管其他 maven 存储库工作正常。这个问题只针对我拥有的私人问题。我可以在我的 yaml 文件中这样做吗?要在运行 gradle 任务之前运行该命令?
0赞 Hui Jin 11/14/2023
你可以通过以下代码来尝试
0赞 Hui Jin 11/14/2023
镜像: docker:20.10.16 变量: DOCKER_HOST: tcp://docker:2375 DOCKER_TLS_CERTDIR: “” 服务: - docker:20.10.16-dind build: 镜像: docker:20.10.16 before_script: - docker login -u $CI_DEPENDENCY_PROXY_USER -p $CI_DEPENDENCY_PROXY_PASSWORD $CI_DEPENDENCY_PROXY_SERVER 脚本: - docker build -t test .
0赞 Hui Jin 11/14/2023
如果您有问题,请与我联系。Skype 账号 : Hui Jin Skype 姓名 : live:.cid.d49a56ccc8f00388
0赞 Ionut Negru 11/16/2023
Proxy 适用于其他任何内容,除了尝试从私有存储库获取工件时的 gradlew 命令