Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过HTTPS将maven scm插件与GitLab Ci连接?_Git_Maven_Gitlab_Gitlab Ci_Maven Scm Plugin - Fatal编程技术网

如何通过HTTPS将maven scm插件与GitLab Ci连接?

如何通过HTTPS将maven scm插件与GitLab Ci连接?,git,maven,gitlab,gitlab-ci,maven-scm-plugin,Git,Maven,Gitlab,Gitlab Ci,Maven Scm Plugin,我们使用maven构建项目,并使用GitLab Ci将其部署到nexus存储库中。现场部署由另一个团队完成,该团队请求接收“scmCommitId”以检查是否部署了正确的版本。因此,我们必须建立scm连接 我尝试在pom.xml文件中使用scm连接,如下所示: scm:git:https://gitlab-ci-token:GITLAB-词-TOKEN@gitlabserver.com:path/to/project/projectname.git 如果我使用scm:git:git@gitl

我们使用maven构建项目,并使用GitLab Ci将其部署到nexus存储库中。现场部署由另一个团队完成,该团队请求接收“scmCommitId”以检查是否部署了正确的版本。因此,我们必须建立scm连接

我尝试在pom.xml文件中使用scm连接,如下所示:


scm:git:https://gitlab-ci-token:GITLAB-词-TOKEN@gitlabserver.com:path/to/project/projectname.git
如果我使用scm:git:git@gitlabserver.com:path/to/project/projectname.git它在本地工作,maven build连接并显示最后的提交,如:

|主快照
|\
||由[开发商]
||[86d70a0]
||由[开发商]
||[2122a35]
||由[开发商]
||[790f523]
|| ...
如果我在GitLab Ci上使用相同的代码,它将无法连接,因为GitLab Ci通过HTTPs请求连接。因此,我尝试使用:

scm:git:通过将before_脚本中我的GITLAB-CI.yml中的GITLAB-CI-TOKEN替换为$CI_JOB_-TOKEN:

在脚本之前:
-sed-i“s/GITLAB-CI-TOKEN/$CI_JOB_TOKEN/g”pom.xml
脚本:mvn包
在脚本之后:
-sed-i“s/$CI_JOB_TOKEN/GITLAB-CI-TOKEN/g”pom.xml
这仍然不起作用:

您的scm连接有问题:://gitlab ci令牌:TOKENgitlabserver.com:path/to/project/projectname.git”!="https://gitlab-ci-token:TOKENgitlabserver.com:path/to/project/projectname.git"
原始:“scm:git:https://gitlab-ci-token:[屏蔽]@gitlabserver.com:path/to/project/projectname.git”!="https://gitlab-ci-token:[屏蔽]@gitlabserver.com:path/to/project/projectname.git”
在某个地方,“https”协议丢失了。如果我改为尝试http,它将保留协议,但失败,因为它是错误的协议:

您的scm连接有问题:”http://gitlab-ci-token:TOKENgitlabserver.com:path/to/project/projectname.git" != "https://gitlab-ci-token:TOKENgitlabserver.com:path/to/project/projectname.git"
可以通过https连接吗?或者可以让GitLab Ci请求另一种方法,比如通过ssh连接吗?或者只是为了测试,如果它能工作的话,告诉GitLab改用http