Github — Фиксация артефакта в хранилище

#git #github #ant #github-actions

Вопрос:

Я работаю с drools и хочу, чтобы рабочий процесс запускал сборку Ant по запросу на извлечение и сохранял созданный файл jar в хранилище.

Я зашел так далеко, что запустил сборку ant и создал артефакт, но есть ли какой-либо способ зафиксировать этот файл обратно в репозиторий как часть запроса на извлечение.

 # This is a basic workflow to help you get started with Actions

name: Run ant build

# Controls when the workflow will run
on:
  # Triggers the workflow on push or pull request events but only for the production branch
  pull_request:
    branches:
      - production
      - develop

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  # This workflow contains a single job called "build"
  build:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest

    # Steps represent a sequence of tasks that will be executed as part of the job
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-java@v2
        with:
          java-version: '11'
          distribution: 'adopt'

      - run: ant -noinput -buildfile satbuild.xml
      - uses: actions/upload-artifact@v2
        with:
          name: fileName
          path: fileName.jar
 

Комментарии:

1. Я удалил тег «слюни», потому что тот факт, что это слюни, действительно не имеет отношения к остальной части вашего вопроса, который касается процесса сборки муравьев. Если вы просто пытаетесь сделать свой jar доступным для использования в качестве зависимости в других проектах, вам следует развертывать его в централизованном хранилище зависимостей (например, maven central и связанные с ним), а не в хранилище кода.

Ответ №1:

Если вы действительно хотите сохранить артефакты, то вам следует заглянуть в git-lfs. Однако передача двоичных файлов в хранилище обычно считается плохой практикой. Если он вам нужен как часть сборки, рассмотрите возможность размещения его на пакетах GitHub.

Комментарии:

1. Это верно только в том случае, если «репозиторий» в вопросе относится к репозиторию кода.