Рубрики
Uncategorized

Использование Circle CI и AWS S3 для хранения изображений в Hugo

Учитывая, что в блоге есть охватывает изображения, чтобы прилипать с дизайном темы (также с … Теги с DevOps, AWS.

Учитывая, что в блоге охватывают изображения, чтобы придерживаться дизайна Тема (Также со старой темой ), количество изображений становится больше, включая сам репозиторий. Я с тех пор убрал изображения из репозитория и сохранил их на AWS S3.

Идея позади состоит в том, чтобы синхронизировать изображения от локальной файловой системы к ведрю в S3, скопируйте файлы из ведра в течение рабочей области CIC CI, который содержит файлы сборки Hugo, и, наконец, развертывает файлы сборки в NetLify.

Синхронизировать изображения

Я создал первое ведро на S3, чтобы сохранить изображения для блога. Для того, чтобы синхронизировать изображения из локальной файловой системы, я установил и настроил AWS CLI :

$ brew install awscli
$ aws configure

Конфигурация в значительной степени простой. Я думаю, что все, что мне нужно было сделать, было установить ключи API и регион, где можно хранить изображения. Разрешение было немного запутано, так как я не использовал AWS, хотя я установил его на частных, поскольку его цель — хранить только изображения — NetLify станет тем, что фактически проводит изображения.

После настройки я использовал AWS синхронизация Чтобы синхронизировать файлы из локальной файловой системы к ведрю:

$ aws s3 sync . s3://path-to-bucket/

Скопируйте файлы, используя круг CI на развертывании

Я использовал ORB AWS-S3 для круга CI и добавил работу Изображения сделать исполнение. Затем файлы сохраняются на рабочее пространство. построить Работа — это тот, кто отвечает за строительство Hugo, и поэтому я прикрепил рабочее пространство на эту работу и, наконец, скопировал файлы на «контент/образы». Изображения Работа также зависимость для построить работа.

orbs:
# The rest of the orbs.
hugo: circleci/hugo@0
aws-s3: circleci/aws-s3@1
version: 2.1
jobs:
images:
docker:
- image: circleci/python:2.7
steps:
- aws-s3/copy:
from: 's3://path-to-bucket'
to: images
arguments: --recursive
- persist_to_workspace:
root: .
paths:
- images
build:
docker:
- image: cibuilds/hugo:latest
steps:
- attach_workspace:
at: ~/images
- checkout
- run: cp -r ~/images/images/* content/images
# The rest of the steps.
workflows:
main:
jobs:
- images
- build:
requires:
- images
# The rest of the jobs.

Необходимые переменные среды для настройки AWS-S3 ORB следующие:

  • Aws_access_key_id.
  • Aws_secret_access_key.
  • Aws_region.

Они могут быть настроены с помощью Circle CI в соответствии с настройками проекта »Настройки сборки» Переменные среды.

Настройки проекта

Пока что это. Я только что удалил изображения с репозитория и добавил .gitignore Файл Чтобы игнорировать изображения под «контентом/изображениями».

Мне все еще нужно включить статические изображения, но, вероятно, сделает это когда-нибудь в будущем.

Оригинал: «https://dev.to/fuzzy_windfall/using-circle-ci-and-aws-s3-to-store-images-in-hugo-42lj»