当前位置: 首页 > 知识库问答 >
问题:

Github操作将java工件推送到Github repo

钮才哲
2023-03-14

我有一个Github repo项目,使用Github操作和一个docker文件来构建SpringBoot Java项目
我想从Github repo下载来自Github repo的定制工件包,并能够将工件上传到其中。

所以我按照配置Apache Maven用于GitHub包的链接,将该部分添加到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 repo?不知何故,部署部分似乎不起作用。我试过几次,但不确定我的部分出了什么问题。目前这是我在docker build中的错误:

无法从com传输元数据。chg。sa:demo sa java服务:1.0-SNAPSHOT/maven-metadata。从/到github的xml(https://maven.pkg.github.com/OWNER/REPOSITORY):未授权-

共有1个答案

蔚楷
2023-03-14

我使用Dockerfile building将github令牌作为build arg传递,并将所有者和repo名称切换为它们的值,从而实现了推送。

 类似资料:
  • 问题内容: 作为我的Jenkins管道构建的一部分,我签出了我的仓库(它将复制到我可以看到的工作区中)。然后,我在工作区中修改了一个文件,然后将其回推到我的Github存储库。我只是在更新podspec文件中的版本号。 如何获取该文件并将其推回我的Git存储库中? 问题答案: 棘手的部分是使用我正在使用此方法的相关凭据设置网址- 其中credentialId是您的git凭据Id。您将需要添加到Ma

  • 我想使用GitHub操作自动化我的构建过程,这个过程有以下步骤: 签出 构建 打包 标记 增量版本 提交更改 推送标记和新提交 将包推送到repo

  • 我正在尝试使用Maven作为构建工具,为一个简单的Spring启动应用程序编写github操作管道。构建和验证成功,但将Jar部署到Github注册表失败,出现错误: 这是我的pom。xml 这是我创建的工作流文件: 我还尝试将服务器标记settings.xml,在maven部署阶段将其作为参数传递,但同样的错误也失败了。

  • 我正在尝试更新pom中的版本。在我的maven项目中,使用GitHub(release)操作,使用UI/Create-release标记中提供的值。 然而,我得到了一个错误: 我真的不明白为什么会这样。我认为git签出会给我一个带有默认(

  • 首先,我对Github操作还很陌生。 我试图使用Github操作自动将我的回购推到带有访问令牌的Gitlab。但是,我总是得到错误 我尝试了GitLab Remote:HTTP Basic:Access denied and fatal Authentication,中的解决方案,但如果我将该行放在.yml中,它将中断并返回错误代码5。如果我不放那一行,我会得到上面描述的错误。 带有尝试历史记录的

  • 我想设置我的工作流程来执行以下操作: 在任何事件上(拉请求,在任何分支上推送) 结账码 构建项目 运行测试 为其他作业上传工件 从以前的工作下载工件 推送页面 从以前的工作下载工件 创建发行版 将工件上传到发行版 在我的中,指令适用于所有作业,因此在我的情况下不起作用。另一方面,仅在同一工作流中工作。 实现所述工作流程的正确方法是什么?