Github 操作将 java 工件推送到 github repo
Posted
技术标签:
【中文标题】Github 操作将 java 工件推送到 github repo【英文标题】:Github action push java artifact to github repo 【发布时间】:2020-11-17 00:33:40 【问题描述】:我有一个 Github 存储库项目,它使用 GitHub 操作和一个用于构建 SpringBoot Java 项目的 docker 文件。 我想从 Github 存储库下载用于 GitHub 存储库的自定义工件的包,并且还能够将工件上传到它。
所以我点击链接Configuring Apache Maven for use with GitHub Packages,将该部分添加到 settings.xml 文件中:
<activeProfiles>
<activeProfile>github</activeProfile>
</activeProfiles>
<profiles>
<profile>
<id>github</id>
<repositories>
<repository>
<id>central</id>
<url>https://repo1.maven.org/maven2</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
<repository>
<id>github</id>
<name>GitHub OWNER Apache Maven Packages</name>
<url>https://maven.pkg.github.com/OWNER/REPOSITORY</url>
</repository>
</repositories>
</profile>
</profiles>
<servers>
<server>
<id>github</id>
<username>USERNAME</username>
<password>$GITHUB_TOKEN</password>
</server>
</servers>
</settings>
为了从 dockerfile 构建发布包,我在 pom.xml 中添加了以下内容:
<distributionManagement>
<repository>
<id>github</id>
<name>GitHub OWNER Apache Maven Packages</name>
<url>https://maven.pkg.github.com/OWNER/REPOSITORY</url>
</repository>
</distributionManagement>
以下是我的dockerfile的内容:
FROM adoptopenjdk/maven-openjdk10 as build
WORKDIR /app
ADD pom.xml /app/pom.xml
ADD src /app/src
ADD settings.xml /root/.m2/settings.xml
RUN ["mvn", "clean", "install", "deploy"]
是否可以从 dockerfile 部署到 Github 存储库?不知何故,部署部分似乎不起作用。我尝试了几次,但不确定我的部分有什么问题。 目前这是我在 docker build 中的错误:
无法传输元数据 com.chg.sa:demo-sa-java-service:1.0-SNAPSHOT/maven-metadata.xml 从/到 github (https://maven.pkg.github.com/OWNER/REPOSITORY):不是 授权 -> [帮助 1]
【问题讨论】:
您是要上传包还是工件?工件是工作流级别的,包是回购级别的。另外-您已将所有者和存储库值设置为您的存储库...对吗? 【参考方案1】:我通过将 github 令牌作为构建 arg 传递并将所有者和 repo 名称切换为它们的值来使用 Dockerfile 构建进行推送。
【讨论】:
以上是关于Github 操作将 java 工件推送到 github repo的主要内容,如果未能解决你的问题,请参考以下文章
将本地已有仓库推送到github上新建的空仓库(git remote add ...)
使用 Git Bash/Terminal 将文件推送到 Github 存储库的特定目录