Circle CI 및 AWS S3를 사용하여 Hugo에 이미지 저장
기본 아이디어는 로컬 파일 시스템의 이미지를 S3의 버킷으로 동기화하고 버킷의 파일을 Hugo의 빌드 파일이 포함된 Circle CI 작업 공간으로 복사한 다음 마지막으로 빌드 파일을 Netlify에 배포하는 것입니다.
이미지 동기화
블로그용 이미지를 저장하기 위해 먼저 S3에 버킷을 생성했습니다. 로컬 파일 시스템에서 이미지를 동기화하기 위해 설치 및 구성했습니다AWS CLI.
$ brew install awscli
$ aws configure
구성은 매우 간단합니다. API 키와 이미지를 저장할 지역을 설정하기만 하면 된다고 생각합니다. 권한은 AWS를 많이 사용하지 않았기 때문에 약간 혼란 스러웠습니다. 이미지를 저장하는 것이 목적이기 때문에 비공개로 설정했지만 Netlify는 실제로 이미지를 호스팅하는 것입니다.
구성 후
aws sync
를 사용하여 로컬 파일 시스템에서 버킷으로 파일을 동기화했습니다.$ aws s3 sync . s3://path-to-bucket/
배포 시 Circle CI를 사용하여 파일 복사
Circle CI에 구
aws-s3
를 사용하고 작업images
을 추가하여 실행했습니다. 그런 다음 파일은 작업 공간에 유지됩니다. build
작업은 Hugo 빌드를 담당하는 작업이므로 이 작업에 작업 공간을 연결하고 마지막으로 파일을 "콘텐츠/이미지"에 복사했습니다. images
작업은 build
작업에 대한 종속성이기도 합니다.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를 통해 구성할 수 있습니다.
프로젝트 설정
지금까지는 그게 다입니다. 방금 리포지토리에서 이미지를 제거하고 "content/images"아래의 이미지를 무시하도록
.gitignore
파일을 추가했습니다.여전히 정적 이미지를 포함해야 하지만 나중에 언젠가는 그렇게 할 것입니다.
Reference
이 문제에 관하여(Circle CI 및 AWS S3를 사용하여 Hugo에 이미지 저장), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/fuzzy_windfall/using-circle-ci-and-aws-s3-to-store-images-in-hugo-42lj텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)