Учитывая, что в блоге охватывают изображения, чтобы придерживаться дизайна Тема (Также со старой темой ), количество изображений становится больше, включая сам репозиторий. Я с тех пор убрал изображения из репозитория и сохранил их на 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»