Задать вопрос

Как скопировать файлы из репозитория github в bucket в object storage yandex.cloud через github actions?

Нужно что бы при пуше в main файлы копировались в бакет в яндекс облаке. До этого github actions не пользовался, но примерно представляю как нужно писать yml файл.
Основной вопрос:
Как прописывать авторизацию сервисного аккаунта?
  • Вопрос задан
  • 258 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 1
deepblack
@deepblack
object storage в yandex.cloud это тот же s3 от AWS (как минимум они совместимы),
т.е. можно использовать awscli из экшена для загрузки файлов, для примера:
В маркетплейсе GitHub есть такой экшн: GitHub Action to S3 cp - ссылка на репо с исходниками есть справа (это чтобы посмотреть как оно устроено, если интересно).

Основной вопрос:
Как прописывать авторизацию сервисного аккаунта?

Берем этот экшн, указываем свои переменные для авторизации Secrets (aws_access_key_id, aws_secret_access_key и т.д.) не забываем поменять aws_s3_endpoint на яндексовый + указываем что будем копировать и куда ))

Экшн можно взять любой подходящий, главное чтобы там можно было указать кастомный s3 endpoint.
Еще как вариант можно поискать готовый экшн с yandex-cloud-cli внутри (aws-cli - тоже подойдет), или написать свой.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@vitaly_il1
DevOps Consulting
Как прописывать авторизацию сервисного аккаунта?

В Github secrets добавить aws_access_key_id и aws_secret_access_key.
Насчет авторизации и самого копирования есть два варианта:
1) использовать готовые github actions - искать в marketplace. Если не нашли для Яндекса, то остается второй путь
2) написать скрипт, как если бы мы это делали на нашем лаптопе:
- авторизация - взять ключи из Github secrets и создать файл credentials и т.п.
- копирование - использовать CLI
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы