CI/CD Auto Deploy with AWS

2021. 7. 22. 16:44·기타/잡동사니

 

Docker

Ubuntu 18.04 LTS 기준

  1. sudo apt-get update
  2. sudo apt install docker.io
  3. sudo systemctl start docker
  4. sudo systemctl enable docker
  5. docker --verison (version check)
  6. sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
    This is downloading dependencies
  7. docker pull jenkins/jenkins:jdk11 
    최신 jenkins 이미지 파일 다운로드

 

sudo docker run -d -p 7000:7000 --name together-jenkins -u root -v /jenkins:/var/jenkins_home jenkins/jenkins:jdk11 

jenkins/jenkins:jdk11  << image Repository 이름:태그명이다

-u: 실행할 사용자명

--name: 실행 컨테이너 이름

-v 호스트 디렉토리:컨테이너 디렉토리

 

 

 

Jenkins

 

CI Tools : Continuous Integration Tools

빌드 & 테스트 & 분석 자동화 도구

 

  1. home brew 로 설치후 앱 설치
  2. CodeDeploy 플러그인 설치
  3. 빌드 후 조치 추가 `Deploy an application to AWS CodeDeploy`
    Jenkins에서 이런식으로 Configuration 이 필요함.
  4. S3, CodeDeploy Configuration 설정
  5. Jenkins 실행
$ brew services start jenkins

 

S3

  1. Bucket 생성
  2. IAM Role 생성 (S3 List, Write - Put) for 'Auto-Scaling Group Instance'
    Deploy 하는 인스턴스에겐 쓰기권한도 필요함. (S3에 앱 패키지 업로드)
  3. IAM Role 생성 Readonly S3 for 'Deployment instance'
    실제 배포되는 운용서버에는 읽기만 필요함 (S3로부터 파일 다운로드 받을 수 있도록)
  4. Project 파일 .zip 로 업로드 (이때, 폴더를 압축 시킨것이 아닌 루트디렉토리 내의 모든 파일을 압축해야함)// 압축 풀리자마자 메인 파일들이 늘어질 수 있게)

 

CodeDeploy

  1. CodeDeploy 생성
  2. 대상 그룹 Auto-Scaling 그룹 지정
  3. IAM Role (정책) 생성 및 연결 (AWSCodeDeployRole)
    EC2, EC2 AutoScaling, Elastic Load Balancer 등 다양한 AWS 리소스에 Code Deploy 를 명령할 수 있도록 접근 권한을 준다.
  4. appspec.yml configuration

 

Auto-Scaling Group

그룹 시작 템플릿에 

고급설정 - IAM - S3 Readonly 와 연결 해야한다.

이는 S3에 업로드된 프로젝트 파일을 AutoScaling Group 내에 있는 인스턴스들이 다운로드 받기 위한 권한이다.

 

 

 


CodeDeploy-Agent

S3에 있는 프로젝트 디렉토리를 받아오고 각종 쉘을 실행하기 위해서는 'codedeploy-agent' 가 필요하다.

이 파일을 EC2 console - Auto Scaling Configuration (시작구성) - 고급 세부 정보 - 사용자 데이터 에 업로드한다.

 

 

파일로 업로드도 좋고 텍스트 파일로 복붙해도 좋다.


Reference

https://phoenixnap.com/kb/how-to-install-docker-on-ubuntu-18-04

 

How to Install Docker On Ubuntu 18.04 {2021 Tutorial}

Docker is a software package that creates containers for application development. Learn how to Install Docker on Ubuntu 18.04 in this tutorial.

phoenixnap.com

 

저작자표시 (새창열림)

'기타 > 잡동사니' 카테고리의 다른 글

Windows 10 Bootable USB  (0) 2021.11.05
YAML 파일 작성법  (0) 2021.08.06
UTC & GMT  (0) 2021.04.14
[Error] cmd 한글깨짐 cp949 -> UTF-8  (0) 2020.10.13
Visual Studio Code Remote-SSH  (0) 2020.01.30
'기타/잡동사니' 카테고리의 다른 글
  • Windows 10 Bootable USB
  • YAML 파일 작성법
  • UTC & GMT
  • [Error] cmd 한글깨짐 cp949 -> UTF-8
M_Falcon
M_Falcon
  • M_Falcon
    Falcon
    M_Falcon
  • 전체
    오늘
    어제
    • 분류 전체보기 (432)
      • Web (16)
        • Nodejs (14)
        • Javascript (23)
        • FrontEnd (4)
      • DataBase (39)
        • Fundamental (1)
        • Redis (4)
        • PostgreSQL (10)
        • NoSQL (4)
        • MySQL (9)
        • MSSQL (3)
        • Error (4)
      • Algorithm (79)
        • Algorithm (문제풀이) (56)
        • Algorithm (이론) (23)
      • JVM (65)
        • Spring (13)
        • JPA (5)
        • Kotlin (13)
        • Java (24)
        • Error (7)
      • 기타 (70)
        • Kafka (3)
        • Kubernetes (3)
        • Docker (13)
        • git (19)
        • 잡동사니 (27)
      • 재테크 (11)
        • 세무 (4)
        • 투자 (3)
        • 보험 (0)
      • BlockChain (2)
        • BitCoin (0)
      • C (32)
        • C (10)
        • C++ (17)
        • Error (3)
      • Low Level (8)
        • OS (3)
        • 시스템 보안 (5)
      • 네트워크 (3)
      • LINUX (30)
        • Linux (26)
        • Error (4)
      • 저작권과 스마트폰의 이해 (0)
      • 생각 뭉치 (6)
      • 궁금증 (2)
      • Private (4)
        • 이직 경험 (0)
        • 꿈을 찾아서 (1)
      • Android (21)
        • OS (4)
  • 블로그 메뉴

    • 홈
    • WEB
    • 알고리즘
    • DataBase
    • Linux
    • Mobile
    • C
    • 방명록
  • 링크

    • github
  • 공지사항

  • 인기 글

  • 태그

    docker
    linux
    ubuntu
    Kotlin
    kafka
    database
    algorithm
    Spring
    android
    프로그래머스
    Bitcoin
    C++
    Programmers
    javascript
    PostgreSQL
    Git
    백준
    JPA
    알고리즘
    java
  • hELLO· Designed By정상우.v4.10.3
M_Falcon
CI/CD Auto Deploy with AWS
상단으로

티스토리툴바