Поддерживает ли Github Action автономный раннер по запросу?
Нам нужно использовать автономный бегун действия Github, потому что нам нужен доступ к локальному ресурсу.
Я понимаю, что мы можем запустить автономный бегун на виртуальной машине или в контейнере докеров.
Можем ли мы запускать автономный раннер по запросу? Как и бегун, размещенный на Github, который всегда использует чистую изолированную виртуальную машину и уничтожается в конце выполнения задания. Или как агенты заданий в Azure DevOps/Github, которые создали контейнер агента чистого задания для запуска конвейера и в конце удаляются.
Можем ли мы сделать что-то подобное с самостоятельным раннером Gihub-action? Например, позвольте нам зарегистрировать виртуальную машину с механизмом Docker или кластером Kubernetes в качестве автономного исполнителя. Когда я запускаю рабочий процесс Github, он должен запустить контейнер и запустить рабочий процесс внутри этого контейнера. После этого следует удалить контейнер.
Возможно ли это сейчас? Я не уверен, есть ли где-нибудь дорожная карта для действий Github.
2 ответа
Если вы используете AWS, вы можете попробовать ec2-github-runner . Он делает именно то, что вы ищете.
Я считаю, что такой же подход можно применить и к другим поставщикам облачных услуг.
Сам GitHub на данный момент не предоставляет таких возможностей.
Я думаю, что этот вопрос немного вводит в заблуждение, но, если я правильно понимаю, вы пытаетесь добиться, чтобы рабочий процесс GitHub Actions без сохранения состояния выполнялся в вашем автономном средстве выполнения. К сожалению, в настоящее время это невозможно. Только бегуны, размещенные на GitHub, работают так, как вы описываете. По документации:
Бегун, размещенный на GitHub, всегда является чистой изолированной виртуальной машиной и уничтожается в конце выполнения задания.
Подробнее о различиях между типами бегунов можно прочитать здесь.