java—使用github操作在另一个repo中使用github repo的资源(比如jar文件)?

r9f1avp5  于 2021-07-11  发布在  Java
关注(0)|答案(1)|浏览(463)

我有两个存储库和repo a和repo b,我在这两个存储库中使用github操作。repoa创建一些jar文件,这些文件是运行repob所必需的。
回购a的build.yml文件

name: Repo A
on:
  pull_request:
  push:  
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: 'PREP - GitHub context'
        env:
          GITHUB_CONTEXT: ${{ toJson(github) }}
        run: echo "$GITHUB_CONTEXT"

      - name: 'SETUP - Checkout PR branch'
        if: github.event_name == 'pull_request'
        uses: 'actions/checkout@v2'
        with:
          ref: '${{ github.event.pull_request.head.sha }}'

      - name: 'SETUP - Checkout Branch Code '
        if: github.event_name == 'push'
        uses: 'actions/checkout@v2'
        with:
          ref: '${{ github.ref }}'

      - name: 'SETUP - JAVA JDK 1.8'
        uses: actions/setup-java@v1
        with:
          java-version: 1.8

      - name: 'SETUP - Cache Gradle packages'
        uses: 'actions/cache@v2'
        with:
          path: '~/.gradle/caches'
          key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
          restore-keys: ${{ runner.os }}-gradle

      - name: 'BUILD - Code Build & Unit Tests'
        run: | 
          sudo ./gradlew build

repo b有一个类似的build.yml文件
当这些存储库构建在本地时,它会使用.gradle和.m2 of local将这些jar放到外部库中,这会变得更容易。
在这里,我不知道如何在repob中使用repoa中的jar,因为工作流中的每个作业都在虚拟机的新示例中执行。
我想出了一个解决方案,在repo b的build.yml文件中编写几行代码来克隆和构建repo a,但是构建repo a需要很长时间。
我也想知道jfrog在这方面有什么帮助?

jljoyd4f

jljoyd4f1#

您可以从repo a上传构建产生的jar作为构建工件,然后使用repo b中的下载工作流工件操作步骤来下载它。

相关问题