개발자_이훈규
천천히, 빠르게. 개발자의 Repository
개발자_이훈규
전체 방문자
오늘
어제
  • 분류 전체보기 (473)
    • 티스토리 (4)
    • 개발자 뉴스 (2)
    • 소프트웨어 (203)
      • C (7)
      • c++ (25)
      • Objective-C (3)
      • Do it! 반응형 웹디자인 (4)
      • openGL (8)
      • Java (24)
      • Jni (3)
      • Android (9)
      • Wordpress (2)
      • 버그 만난 후 느낀점 (2)
      • Git (3)
      • node js (2)
      • window tablet (1)
      • HTML (3)
      • javascript (3)
      • perl (1)
      • AngularJS (0)
      • JSON (0)
      • Docker (3)
      • python (5)
      • jQuery (1)
      • MFC (4)
      • cocos studio (6)
      • Golang (1)
      • SQLite3 (0)
      • Spring Boot (8)
      • thymeleaf (0)
      • Django (0)
      • iOS (3)
      • skia (0)
      • VBA (0)
      • PHP (2)
      • Oracle (1)
      • JSP (0)
      • R (0)
    • TCP IP (2)
    • 금융 (0)
      • 금융 Study (0)
      • 금융 Archive (0)
      • 금융 Article (0)
    • 개인 프로젝트 (7)
      • gif 홈페이지 만들기 (0)
      • study app만들기 (0)
      • 크롤러 만들기 (1)
      • 카툰 홈페이지 만들기 (1)
      • 외주 홈페이지 만들기 (3)
      • 웹 홈페이지 만들기 (0)
      • 미디어 서버 만들기 (0)
      • 소개팅 어플 만들기 (0)
      • 인스타그램 풀스택 클론 코딩(인강 노트) (0)
      • 주식 모의거래 만들기 (1)
    • html php mysql (0)
    • node.Js (2)
    • 일상 (2)
    • 빈공간 uml 공부 (0)
    • Ubuntu(linux) (12)
    • 맥OS (10)
      • android 설치하기 (2)
    • Programming quizzes (0)
    • IoT (구 유비쿼터스) (16)
      • 라즈베리 파이 (11)
      • 아두이노 (5)
    • 하드웨어 (5)
      • 아수스 비보탭 노트8 asus vivotap no.. (2)
      • 크레마 카르타 (3)
    • 분석할 문장, 구문, 코드 (0)
    • 키보드 (1)
      • 해피해킹 (1)
    • 코드 라이언 (0)
    • 전자기기 (4)
    • Ted (0)
    • NAS (0)
    • 알고리즘 (0)
    • 연합인포맥스 (0)
    • 이벤트 응모함 (4)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • 방법
  • 소스
  • 라즈베리 파이
  • GIT
  • C++
  • 코드
  • 에러
  • CODE
  • ubuntu
  • C
  • 예제
  • 설치
  • Example
  • 개발
  • Java
  • 설명
  • 우분투
  • error
  • install
  • Python

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
개발자_이훈규

천천히, 빠르게. 개발자의 Repository

[서평] 클라우드 서비스 개발자를 위한 AWS로 구현하는 CI/CD 배포 입문
카테고리 없음

[서평] 클라우드 서비스 개발자를 위한 AWS로 구현하는 CI/CD 배포 입문

2023. 3. 14. 14:12

리눅스를 다뤄보지 않은 개발자 && 자바를 다루는 개발자에게 딱 맞는 입문서가 될 것입니다.
리눅스에 대한 내용으로 책의 1/3이 구성되어 있고 AWS 내용 중간에도 컴퓨터 기본 개념에 대한 자세한 설명이 수록되어 있습니다.

 

리눅스를 다뤄보지 않은 개발자의 기준은 아래의 구분이 이해가 되는지, 안되는지로 파악할 수 있습니다.

$ mkdir test
$ cd test
$ touch test.txt
$ chown hklee:dev test.txt
$ cd ..
$ rm -rf test

그리고 책의 내용중에는 엘라스틱빈스톡에 대한 부분이 중점적으로 다루었기 때문에 엘라스틱빈스톡으로 jar파일을 분배하고 프로세스를 실행하는 실습을 해볼 수 있습니다.

 

그리고 이 책의 특장점은 무료 동영상 강의가 포함되어 있는 것입니다. 실습을 하기 전에 '무료'강의에 한하여 QR을 통해 동영상 강의를 보면서 따라서 AWS설정을 할 수 있습니다.
https://www.youtube.com/playlist?list=PL93mKxaRDidFjQjPAzi9UxCdo2gtR-fue

 

또다른 장점은 실습환경이 저자와 동일할 수 있도록 소스를 공유하고 있습니다. 실습을 하기전에 github에서 repository를 다운받아서 책과 동영상을 보면서 Java프로젝트를 AWS로 올릴 수 있습니다.
https://github.com/codingspecialist/Aws-Deploy-EasyupClass

 

이 책을 실습하기 가장 좋은 환경은 AWS의 프리티어가 남은 독자일 것입니다. 프리티어는 12개월 간 무료로 AWS를 사용할 수 있는 권한이라 부담없이 AWS를 다뤄볼 수 있습니다.
https://aws.amazon.com/ko/free/

 

이 책의 제목에 맞게 CI/CD 배포는 257p에 수록되어 있습니다. 배포 과정은 [코드 수정]->[github push]->[github action]->[AWS beanstalk로 분배] 로 이루어져있습니다. 이 과정의 자세한 설명은 270p부터 수록되어 있습니다.

 

하지만 리눅스의 경험이 많거나 AWS의 특정 부분이나 아키텍처를 고려하는 독자와는 맞지 않습니다.

Github Action 실습

CI/CD 중에 github의 Actions내용을 실습해봤습니다.
실습은 Repository를 새로 만들고 난 후에 actions를 yml로 정의하고 commit을 만들어서 push를 발생시킵니다.
그러고나면 정의된 actions에 따라 build가 실행되는 과정입니다.

1. github repository 생성

github에 새로운 repository를 추가합니다.

2. Github Actions 활성화

빈 Repository에 Actions을 정의합니다.
Actions의 종류는 많은데 그 중에 가장 기본이 되는 'Simple workflow'를 선택했습니다.

3. yml 생성

이름과 상관없이 yml 확장자를 갖은 파일이면 정의된대로 actions이 발생하면 실행이 됩니다.
자세한 내용은 아래 링크를 참조하면 좋습니다.
https://fe-developers.kakaoent.com/2022/220106-github-actions/

4. github로 commit push

Github Actions이 정의가 된 상태에서 push를 발생시키면 정의된 동작이 자동으로 실행이 됩니다.

$ github % git clone git@github.com:leehunkyu00/github_action_tutorial.git
'github_action_tutorial'에 복제합니다...
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 5 (delta 0), reused 0 (delta 0), pack-reused 0
오브젝트를 받는 중: 100% (5/5), 완료.
$ github % cd github_action_tutorial 
$ github_action_tutorial % echo 'hello world!' > README.md
$ github_action_tutorial % git add README.md 
$ github_action_tutorial % git commit -m 'add README.md file'
[main e38582c] add README.md file
 1 file changed, 1 insertion(+)
 create mode 100644 README.md

$ github_action_tutorial % git push origin main
오브젝트 나열하는 중: 4, 완료.
오브젝트 개수 세는 중: 100% (4/4), 완료.
Delta compression using up to 8 threads
오브젝트 압축하는 중: 100% (2/2), 완료.
오브젝트 쓰는 중: 100% (3/3), 297 bytes | 297.00 KiB/s, 완료.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To github.com:leehunkyu00/github_action_tutorial.git
   de6f102..e38582c  main -> main

5. github actions 결과확인

commit push가 발생한 후에 github actions이 잘 동작한 것을 확인할 수 있습니다.

 

 

'앤써북'에서 도서를 무상 제공받아 작성하였습니다
https://cafe.naver.com/answerbook

저작자표시 (새창열림)
    개발자_이훈규
    개발자_이훈규
    혼자 꽁양꽁양 개발하면서 놀아요~ - 노트같은 블로그

    티스토리툴바