Circle CI를 사용하여 Go 앱을 AWS Elastic Beanstalk에 자동 배포
소개
이 기사에서는 Elastic Beanstalk Docker 기반 Go 플랫폼을 사용하는 앱을 Circle CI를 사용하여 배포하는 방법을 설명합니다.
초기 환경 구축
AWS 자습서 을 참고로 초기 구축을 실시해, 로컬로부터 Elastic Beanstalk (이하, EB)에 배치한다.
이렇게하면 앱 배포 디렉토리 아래에 elasticbeanstalk/config.yml이 생성됩니다.
로컬에서 배포를 수행 할 때 config.yml을 계속 사용할 수 있지만 circle CI에서 배포하기 때문에 yaml 파일의profile: eb-cli
삭제
Circle CI 설정
관리 콘솔에서 설정
대상 프로젝트의 BUILD SETTING -> Enviroment Variables에서 다음 항목 설정
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
circleci/config.yaml 추가
애플리케이션 소스 번들을 작성 를 참고로 yaml 파일 만들기
config.yamlversion: 2
jobs:
build:
machine: true
working_directory: ~/project/{{ORG_NAME}}/{{REPO_NAME}}
steps:
- checkout
- run:
name: Archive
command: |
pip install awsebcli --upgrade
mv ./eb-go-sample/Dockerfile ./eb-go-sample/Dockerfile.local
zip ./eb-go-sample/go-sample.zip ./eb-go-sample/*
- deploy:
name: Deploy to EB
command: cd ~/project/{{ORG_NAME}}/{{REPO_NAME}}/eb-go-sample/ && eb deploy
최종 디렉토리 구성은 다음과 같습니다.
C:.
├─.circleci
│ config.yml
│
└─eb-go-sample
│ .gitignore
│ Dockerfile
│ server.go
│
└─.elasticbeanstalk
config.yml
위의 내용으로 GitHub에 Push!
실행 결과
기타 참고로 한 사이트
htps : // bg. 굉장히 rks. jp/2015/12/15/시 rc
htps : // 이 m /는 rdd 에카 후 / ms / 995, d9, 278, 80c, 903, 42
Reference
이 문제에 관하여(Circle CI를 사용하여 Go 앱을 AWS Elastic Beanstalk에 자동 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Shin-27/items/7539ec7df437c76cc374
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
AWS 자습서 을 참고로 초기 구축을 실시해, 로컬로부터 Elastic Beanstalk (이하, EB)에 배치한다.
이렇게하면 앱 배포 디렉토리 아래에 elasticbeanstalk/config.yml이 생성됩니다.
로컬에서 배포를 수행 할 때 config.yml을 계속 사용할 수 있지만 circle CI에서 배포하기 때문에 yaml 파일의
profile: eb-cli
삭제Circle CI 설정
관리 콘솔에서 설정
대상 프로젝트의 BUILD SETTING -> Enviroment Variables에서 다음 항목 설정
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
circleci/config.yaml 추가
애플리케이션 소스 번들을 작성 를 참고로 yaml 파일 만들기
config.yamlversion: 2
jobs:
build:
machine: true
working_directory: ~/project/{{ORG_NAME}}/{{REPO_NAME}}
steps:
- checkout
- run:
name: Archive
command: |
pip install awsebcli --upgrade
mv ./eb-go-sample/Dockerfile ./eb-go-sample/Dockerfile.local
zip ./eb-go-sample/go-sample.zip ./eb-go-sample/*
- deploy:
name: Deploy to EB
command: cd ~/project/{{ORG_NAME}}/{{REPO_NAME}}/eb-go-sample/ && eb deploy
최종 디렉토리 구성은 다음과 같습니다.
C:.
├─.circleci
│ config.yml
│
└─eb-go-sample
│ .gitignore
│ Dockerfile
│ server.go
│
└─.elasticbeanstalk
config.yml
위의 내용으로 GitHub에 Push!
실행 결과
기타 참고로 한 사이트
htps : // bg. 굉장히 rks. jp/2015/12/15/시 rc
htps : // 이 m /는 rdd 에카 후 / ms / 995, d9, 278, 80c, 903, 42
Reference
이 문제에 관하여(Circle CI를 사용하여 Go 앱을 AWS Elastic Beanstalk에 자동 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Shin-27/items/7539ec7df437c76cc374
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
version: 2
jobs:
build:
machine: true
working_directory: ~/project/{{ORG_NAME}}/{{REPO_NAME}}
steps:
- checkout
- run:
name: Archive
command: |
pip install awsebcli --upgrade
mv ./eb-go-sample/Dockerfile ./eb-go-sample/Dockerfile.local
zip ./eb-go-sample/go-sample.zip ./eb-go-sample/*
- deploy:
name: Deploy to EB
command: cd ~/project/{{ORG_NAME}}/{{REPO_NAME}}/eb-go-sample/ && eb deploy
C:.
├─.circleci
│ config.yml
│
└─eb-go-sample
│ .gitignore
│ Dockerfile
│ server.go
│
└─.elasticbeanstalk
config.yml
htps : // bg. 굉장히 rks. jp/2015/12/15/시 rc
htps : // 이 m /는 rdd 에카 후 / ms / 995, d9, 278, 80c, 903, 42
Reference
이 문제에 관하여(Circle CI를 사용하여 Go 앱을 AWS Elastic Beanstalk에 자동 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Shin-27/items/7539ec7df437c76cc374텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)