gpt4 book ai didi

maven - GitHub 包 : Single Maven repository for GitHub organization

转载 作者:行者123 更新时间:2023-12-03 17:11:18 25 4
gpt4 key购买 nike

我想使用 GitHub 包为 GitHub 组织中的多个存储库存储 Maven Artifact 。 Currently ,似乎对于每个项目,都需要一个单独的 (Maven) 存储库配置条目来指向该 (GitHub) 存储库的 Maven 存储库:

<repository>
<id>github</id>
<name>GitHub OWNER Apache Maven Packages</name>
<url>https://maven.pkg.github.com/OWNER/REPOSITORY</url>
</repository>
将发布的Maven项目对应的配置是:
<distributionManagement>
<repository>
<id>github</id>
<name>GitHub OWNER Apache Maven Packages</name>
<url>https://maven.pkg.github.com/OWNER/REPOSITORY</url>
</repository>
</distributionManagement>
有没有办法将软件包配置为全部转到单个 REPOSITORY?将 REPOSITORY 设置为组织中不同的现有或不存在 (GitHub) 存储库会使构建失败,完全删除/REPOSITORY 也是如此

最佳答案

个人访问 token secrets.GITHUB_TOKEN是默认定义的,但仅部署到当前存储库就足够了。
要使其跨存储库工作,您需要在以下位置定义新的个人访问 token :

  • Settings > Developer Settings > Personal Access Tokens .

  • 选择 write:packages对于范围和所有 repo应该为您自动选择范围。
    enter image description here
    存储库/组织 secret
    接下来,在您的组织或您需要从中发布包的每个存储库中定义一个 secret 。
    为其命名(即 DEPLOY_GITHUB_TOKEN )并将其值设置为在上一步中创建的个人访问 token 。
    enter image description here
    存储库 secret 在存储库 Settings 中定义> Secrets .该组织有一个类似的部分。
    GitHub 操作
    最后,确保将您的个人访问 token 作为名为 GITHUB_TOKEN 的环境变量传递到部署步骤。 .
    在下面的例子中,它被设置为 DEPLOY_GITHUB_TOKEN 的值。上一步中定义的 secret 。
    name: Build

    on:
    release:
    types: [created]
    jobs:
    build:
    name: Build & Deploy
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2

    - name: Set up JDK 1.8
    uses: actions/setup-java@v1
    with:
    java-version: 1.8

    - name: Build with Maven
    run: mvn --batch-mode --update-snapshots install

    - name: Deploy to GitHub
    run: mvn --batch-mode -DskipTests -DuseGitHubPackages=true deploy
    env:
    GITHUB_TOKEN: ${{ secrets.DEPLOY_GITHUB_TOKEN }}
    由于我使用了专用的 Maven 配置文件进行 GitHub 包存储库分发管理,所以我也用 -DuseGitHubPackages=true 激活了它。 .
    Maven个人资料
    在下面的配置文件示例中,我将分发管理配置为使用外部/共享存储库 vlingo/vlingo-platform就像@Danny Varod 的回答中所建议的那样。
    <!-- pom.xml -->
    <project>
    <!-- ... -->

    <profiles>
    <profile>
    <id>github</id>
    <activation>
    <property>
    <name>useGitHubPackages</name>
    <value>true</value>
    </property>
    </activation>
    <distributionManagement>
    <repository>
    <id>github</id>
    <name>GitHub Packages</name>
    <url>https://maven.pkg.github.com/vlingo/vlingo-platform</url>
    </repository>
    </distributionManagement>
    </profile>
    </profiles>
    </project>
    交叉发布自: https://dev.to/jakub_zalas/how-to-publish-maven-packages-to-a-single-github-repository-3lkc
    可以在 vlingo 存储库中找到一个工作示例: https://github.com/vlingo/vlingo-platform/packages

    关于maven - GitHub 包 : Single Maven repository for GitHub organization,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63041402/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com