[英]Installing private package from Github Package registry using Yarn fails with not authorized
[英]works locally, fails on Github Actions: can't transfer Github hosted parent pom, receives Bad Request an parent.relativePath points at wrong local POM
我目前正在建立一個項目。
這個項目應該使用我來自Github 注冊表的parent.pom 。
它在我的機器上運行良好,即使我從我的 .m2 存儲庫中刪除了 parent-pom
不幸的是,當 Github在每次推送后嘗試運行測試時,我總是遇到錯誤,因為無法解析 parent-pom。
[ERROR] Some problems were encountered while processing the POMs:
[FATAL] Non-resolvable parent POM for io.joergi:basics:0.0.1-SNAPSHOT: Could not
transfer artifact io.joergi:parent-jdk11-mongo:pom:2.3.0-1.RELEASE from/to github
(https://maven.pkg.github.com/joergi/parent-jdk11-mongo): Transfer failed for
https://maven.pkg.github.com/joergi/parent-jdk11-mongo/io/joergi/parent-jdk11-
mongo/2.3.0-1.RELEASE/parent-jdk11-mongo-2.3.0-1.RELEASE.pom 400 Bad Request and
'parent.relativePath' points at wrong local POM @ line 5, column 10
@
parent-pom 具有以下定義:
<groupId>io.joergi</groupId>
<artifactId>parent-jdk11-mongo</artifactId>
<version>2.3.0-1.RELEASE</version>
<packaging>pom</packaging>
<name>joergi.io parent-jdk11-mongo</name>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.3.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
我的新項目使用 Github 操作進行自動測試。
它像這樣集成了父 pom:
<parent>
<groupId>io.joergi</groupId>
<artifactId>parent-jdk11-mongo</artifactId>
<version>2.3.0-1.RELEASE</version>
</parent>
<distributionManagement>
<repository>
<id>github</id>
<name>GitHub joergi Apache Maven Packages</name>
<url>https://maven.pkg.github.com/joergi/parent-jdk11-mongo</url>
</repository>
</distributionManagement>
我在新項目中也有一個settings.xml
<activeProfiles>
<activeProfile>github</activeProfile>
</activeProfiles>
<profiles>
<profile>
<id>github</id>
<repositories>
<repository>
<id>github</id>
<name>GitHub joergi Apache Maven Packages</name>
<url>https://maven.pkg.github.com/joergi/parent-jdk11-mongo</url>
</repository>
</repositories>
</profile>
</profiles>
<servers>
<server>
<id>github</id>
<username>joergi</username>
<password>${{ secrets.PACKAGES_READ_ONLY }}</password>
</server>
</servers>
秘密就在我的 Github 秘密中。 如果我刪除或更改它,我不再被授權,所以這是有效的。
你們中的一個人可以給我一個提示,出了什么問題
因此,在github 社區用戶 Brightran的幫助下,我能夠修復它, 有關更多信息,請參閱帖子。
不知何故,settings.xml 中的秘密密碼不起作用,這就是為什么我按照建議采取另一種方式。
在 Maven 部署腳本中,我設置了一個環境變量,如您所見:
- name: Publish to GitHub Packages
run: mvn deploy -s settings.xml
env:
MVN_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
在 settings.xml 中,我讀取了變量,如您所見。
<settings . . .>
. . .
<servers>
<server>
<id>github</id>
<username>USERNAME</username>
<password>${MVN_AUTH_TOKEN}</password>
</server>
</servers>
</settings>
這現在按預期工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.