Circle CI를 사용하여 Go 앱을 AWS Elastic Beanstalk에 자동 배포

3239 단어 CircleCIAWS

소개



이 기사에서는 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.yaml
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

위의 내용으로 GitHub에 Push!

실행 결과


기타 참고로 한 사이트



htps : // bg. 굉장히 rks. jp/2015/12/15/시 rc
htps : // 이 m /는 rdd 에카 후 / ms / 995, d9, 278, 80c, 903, 42

좋은 웹페이지 즐겨찾기