我正在尝试 gitlab,它看起来很有前途。我遇到了一个巨大的问题,似乎整个互联网上没有人知道如何解决这个问题。
我添加了一个 Maven 项目(只有一个 pom.xml)项目,我想将其部署到包注册表中。如果我在家用计算机上执行此操作,则很简单。我只是将部署令牌添加到我的settings.xml 中并执行mvn deploy.
我想在每次构建时都对包注册表进行 Maven 部署,因此当我提交并推送代码时,它需要构建。问题是,如何将 Deploy 令牌传递到管道?简而言之,我想自动部署 Maven 库/依赖项,以便其他项目可以使用该依赖项。这就是它应该如何工作,但是在 gitlab 中完全没有记录如何做到这一点,而且似乎这个星球上没有人这样做。
简而言之,如何将 Maven 项目部署到项目/组包注册表?
实际上gitlab 文档中有一个很好的解释。
\n我将简要概述这个过程,但最终它只是文档的副本,但链接可以更改,也可以移动。所以以后的人都会找到这个答案。
\n正如您在下面的解释中看到的,您只需为 Maven 提供带有该-s <file>标志的 settings.xml 即可。它允许您在实际项目中存储基本的settings.xml。
创建一个ci_settings.xml用作 Maven\xe2\x80\x99s settings.xml 文件的文件。
添加具有与您在文件中定义的相同 ID 的服务器部分pom.xml。例如,使用 gitlab-maven 作为 ID:
<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\n xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd">\n <servers>\n <server>\n <id>gitlab-maven</id>\n <configuration>\n <httpHeaders>\n <property>\n <name>Job-Token</name>\n <value>${env.CI_JOB_TOKEN}</value>\n </property>\n </httpHeaders>\n </configuration>\n </server>\n </servers>\n </settings>\nRun Code Online (Sandbox Code Playgroud)\n确保您的pom.xml文件包含以下内容。您可以让 Maven 使用 CI 环境变量(如本示例所示),也可以对 server\xe2\x80\x99s 主机名和项目\xe2\x80\x99s ID 进行硬编码。
<repositories>\n <repository>\n <id>gitlab-maven</id>\n <url>${env.CI_SERVER_URL}/api/v4/projects/${env.CI_PROJECT_ID}/packages/maven</url>\n </repository>\n </repositories>\n <distributionManagement>\n <repository>\n <id>gitlab-maven</id>\n <url>${env.CI_SERVER_URL}/api/v4/projects/${env.CI_PROJECT_ID}/packages/maven</url>\n </repository>\n <snapshotRepository>\n <id>gitlab-maven</id>\n <url>${env.CI_SERVER_URL}/api/v4/projects/${env.CI_PROJECT_ID}/packages/maven</url>\n </snapshotRepository>\n </distributionManagement>\nRun Code Online (Sandbox Code Playgroud)\n将部署作业添加到您的.gitlab-ci.yml文件中:
deploy:\n image: maven:3.6-jdk-11\n script:\n - \'mvn deploy -s ci_settings.xml\'\nRun Code Online (Sandbox Code Playgroud)\n将这些文件推送到您的存储库。
\n我想再次强调这是实际文档的内容,我只是为了完整性而将其添加到此处(我不是抄袭者,不想获得对其他人工作的认可!;))
\n| 归档时间: |
|
| 查看次数: |
7588 次 |
| 最近记录: |