我有两个存储库和存储库 A 和存储库 B,并且我在两个存储库中都使用 GitHub 操作。Repo A 创建了一些运行 Repo B 所需的 jar 文件。
Repo 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 在外部库中获取这些 jar。
在这里,我无法弄清楚如何在 Repo B 中使用来自 repo A 的 jar,因为工作流中的每个作业都在虚拟机的新实例中执行。
我想出了一个解决方案,在 Repo B 的 build.yml 文件中编写几行代码来克隆和构建 Repo A,但是构建需要很长时间。
我也想知道 Jfrog 对此有何帮助?