Сегодня утром я проснулся с бета-приглашением GitHub Actions (wooo) и начал играть с ним, чтобы перенести несколько простых конвейеров сборки, тестирования и развертывания, которые у меня сейчас есть на CircleCI.
Я все еще пытаюсь разобраться с действиями, но поток, который я имею в виду, заключается в том, что после нажатия первое действие в рабочем процессе запустит контейнер Docker.Внутри этого контейнера я буду запускать несколько простых процессов сборки, таких как минимизация ресурсов и удаление артефактов.Следующее действие затем запустит несколько тестов для сборки.И следующее действие (я) в конвейере будет развернуто в одной из нескольких сред, в зависимости от ветви, в которую я нажал.
Я следовал за документами на https://developer.github.com/actions/creating-github-actions/creating-a-docker-container/ и у меня есть элементарный рабочий процесс, который запускает контейнер Docker и запускает некоторые команды сборки внутри WORKDIR
.Я также могу запустить развертывание (через rsync) из этого WORKDIR
.
Однако я хотел бы разделить это на отдельные шаги / действия, но я не могу понятьпуть к этому.
По сути, это будет похоже на модель заданий / рабочих процессов CircleCI, которую я использую.Однако, с CircleCI, первое задание запускает сборку, а затем сохраняет результирующую структуру каталогов на протяжении всего остального рабочего процесса, например:
# Persist dist directory
- persist_to_workspace:
root: ~/project
paths:
- .
Итак, я как бы приравниваю задания CircleCI к действиям GitHub здесь,что, возможно, неправильно делать?По сути, я пытаюсь выяснить, могу ли я сохранить WORKDIR
внутри контейнера Docker первого действия и сделать его доступным для последующих действий WORKDIR
.
Возможно ли это, или я в порядке?что я могу себе представить GitHub Actions?
Спасибо!