Исключить файлы из одной ветви в другую во время запроса на загрузку в GitHub? - PullRequest
0 голосов
/ 14 апреля 2020

Как исключить файлы из одной ветви в другую во время запроса извлечения в GitHub?

Я создал действия GitHub для CI. Он создал папку .github / workflows и файл main.yml в этом каталоге. Как можно исключить файл для слияния из одной ветви в другую во время запроса / слияния извлечения.

или позволяет сказать, что я создал Jenkinsfile и обновил его в репозитории GitHub в этой промежуточной ветви. Как я могу исключить файлы во время PR / слияния из промежуточной ветви в главную ветвь?

Спасибо

1 Ответ

0 голосов
/ 14 апреля 2020

Я не думаю, что вы можете, и я думаю, что даже если вы можете - вы не должны.

Если у вас есть разные долгосрочные ветви - такие как staging и master (для производство), эти ветки должны включать файлы для них обоих - будь то Jenkinsfiles или другие. Назовите их по-разному и сделайте так, чтобы они были зафиксированы в обеих ветвях.

Что касается рабочих процессов, у вас может быть два рабочих процесса (например, .github/workflows/stage.yml и .github/workflows/production.yml), и каждый из них должен запускаться только тогда, когда код подталкивается к соответствующей ветке:

on:
  push: { branches: [master] }
  pull_request: { branches: [master] }

# and

on:
  push: { branches: [stage] }

Если я могу дать еще один совет - подумайте, действительно ли вам это нужно, чтобы это были отдельные ветви, а не просто теги. В конце концов, я предполагаю, что staging всегда в конечном итоге объединяется с master - так что это всего лишь шаг к производству, а не параллельная ветвь. Я контролирую широкий спектр различных репозиториев и никогда ни для чего не использовал долгосрочные ветки.

...