클라이언트 배포 파이프라인

https://blog.kakaocdn.net/dna/cvVk1D/btsbVcpl2P9/AAAAAAAAAAAAAAAAAAAAAPCZr_iJJ3PvWdCJVi1-k4-XoKTlipgRwnuyozkwS1AV/img.jpg?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1774969199&allow_ip=&allow_referer=&signature=BT%2Fd%2FD2I1Lt%2Bfp%2BeJo%2B%2FbiVyRWQ%3D

요구사항

  • AWS 개발자 도구 서비스를 이용해서 배포 자동화 파이프라인을 구축.
    • CodePipeline을 이용해서 각 단계를 연결하는 파이프라인을 구축.
    • Source 단계에서 소스 코드가 저장된 GitHub 리포지토리를 연결.
    • Build 단계에서 CodeBuild 서비스를 이용하여 수동으로 진행했던 build 과정을 자동으로 진행.
    • Deploy 단계에서 결과물을 S3 버킷에 자동으로 전달.
  • 나중에 변경 사항을 GitHub 리포지토리에 반영했을 경우, 배포 과정이 자동으로 진행되어야 함.
  • 배포 과정에서 오류가 생길 경우, log 파일을 참조하여 문제점을 확인할 수 있어야 함 .

클라이언트 배포 자동화 파이프라인

1. buildspec.yml 작성

2. 파이프라인 구성

1. 검색 창에 CodePipeline 클릭 후 파이프라인 생성 클릭

2. 이름과 서비스 역할에서 새 서비스 역할 클릭 후 다음 클릭

3.

> 소스 공급자를 클릭해서 GitHub를 선택(build 할 데이터가 있는 곳을 선택하면 됨)

> 만약 GitHub를 선택했으면, GitHub 연결을 클릭 > 내 GitHub의 리파지토리와 연결을 위해서

https://blog.kakaocdn.net/dna/dfeSH5/btscvYvQR7p/AAAAAAAAAAAAAAAAAAAAAPRZuRIvgVvgBmGUMLZyBp1QXurYYT5s8S7XRAaGhFFC/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1774969199&allow_ip=&allow_referer=&signature=LmWl4b8m5fb1R%2BD2d9vP2tl8r9Q%3D

4. 이름은 아무거나 입력

https://blog.kakaocdn.net/dna/Z6Nqy/btsb2TiDUYJ/AAAAAAAAAAAAAAAAAAAAANc4EjFGGEY7plhmNZA6ZQiFGfVzG26MabAXX0ilT5jg/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1774969199&allow_ip=&allow_referer=&signature=553O8Dg6Hs%2FYkMnZFUVzDlHFV6k%3D

5. github에 연결 클릭 하면 GitHub 앱의 새 앱 설치 클릭

https://blog.kakaocdn.net/dna/bKJH0p/btsctLQ8esi/AAAAAAAAAAAAAAAAAAAAAG9DH8EwrKjK8QVP1JEqtsZGCcoNgMsxdcHdQfvMLKRz/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1774969199&allow_ip=&allow_referer=&signature=9As9BLjW2xdeq5i0WYRfaW%2BqxLg%3D

6. aws와 연결할 github 아이디 선택하고 연결

7.

> 실행할 소스 코드가 있는 자신의 리파지토리 선택

> install 버튼 클릭

8. 생성한 GitHub 앱 선택 후 연결 클릭

https://blog.kakaocdn.net/dna/bp0nyM/btsb60ofzCh/AAAAAAAAAAAAAAAAAAAAADLUo8iiXdpkAoMXXt1-N_JMzSgZtRQjxHQaW5vguWue/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1774969199&allow_ip=&allow_referer=&signature=%2BS4uWJzsrZ3eLrkGucKzZMG4cjI%3D

9. 리파지토리 이름과 , 해당 리파지토리의 main 브랜치를 선택한 뒤 다음 버튼 클릭

10.

> 빌드 단계에서 codeBuild 프로젝트 생성

> 소스 단계를 통해 전달받은 코드를 테스트하거나 빌드하여 배포 단계로 전달하는 역할

11. 빌드 프로젝트 이름은 마음대로 지음

https://blog.kakaocdn.net/dna/bns4BO/btscvx6lPre/AAAAAAAAAAAAAAAAAAAAAMw39Lj_45vdXUqXhi8_0rGVcD1sXDuNDyra_XqsEM-z/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1774969199&allow_ip=&allow_referer=&signature=pqbic0JTcK6FZ41WiIdREYIE68s%3D

12.

> Ubuntu 운영체제를 선택

> 다른 운영체제를 선택할 시 yml 파일이 오류를 일으킬 수 있음

https://blog.kakaocdn.net/dna/cowbv3/btsbV7BLTU5/AAAAAAAAAAAAAAAAAAAAAAiph2ZAfx_DpepUdCTL3oS8n20cn8mXqeURUKutOaGi/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1774969199&allow_ip=&allow_referer=&signature=3X4O1c7OzJ2aMUVhvKzaxDcMdv0%3D

13.

> 로그 파일을 저장하는 서비스로 CloudWatch 혹은 S3를 이용

> S3에는 정적 웹 호스팅을 위한 버킷이 이미 생성

> 버킷의 수가 많아지면 과금이 될 가능성이 다소 커질 수 있기에, CloudWatch 서비스를 빌드 출력 로그 저장을 위한 서비스로 선택하여 리소스를 분산

https://blog.kakaocdn.net/dna/xE4Lj/btscwmQUPdr/AAAAAAAAAAAAAAAAAAAAAKNLHJUaQLeI3QYgKDEam2gMqjTGKsv-uFPvNmmQB9nV/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1774969199&allow_ip=&allow_referer=&signature=1bI5LTv6P43fvGJMtB8VMIuDK6c%3D

14. 다음 클릭

15. 최종적으로 만들어진 결과물을 전달 및 반영할 위치를 선택, client이므로 s3를 선택

https://blog.kakaocdn.net/dna/cLZjla/btsb2TXeI1O/AAAAAAAAAAAAAAAAAAAAAHdwTtF4UMGXLA8SZ3o7vb-0gghe2fgiHAE_cnk-anoM/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1774969199&allow_ip=&allow_referer=&signature=8dQ4QuIk5eop2vnrghLuDv28Zng%3D

16. s3를 만들었을 때 사용한 버킷 이름을 선택

17. 검토한 후 다 맞다면 파이프라인 생성 클릭

결과

> 배포가 성공하는 것을 확인할 수 있다

환경변수 설정

  1. AWS 검색창에 CodeBuild를 검색하여 클릭

https://blog.kakaocdn.net/dna/YnJ2h/btscFEwBMEd/AAAAAAAAAAAAAAAAAAAAANaBkb4jE2X13pF67eNT7lPmkPoLijm703-qLL9yZWO1/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1774969199&allow_ip=&allow_referer=&signature=Ddj4uDOWmWQF7fTOMFsuq5Kdkyg%3D

  1. 원하는 빌드 프로젝트 선택 후 오른쪽 상단에 편집 -> 환경 클릭

https://blog.kakaocdn.net/dna/b5eIMX/btscyYo2c6z/AAAAAAAAAAAAAAAAAAAAALcKOEfSOMyqebIOO-g9QtEbtmFoPIFlm9LLA0E6hKSi/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1774969199&allow_ip=&allow_referer=&signature=ycxJcXBe%2FMHhGggZ6kMpwljqBdI%3D

  1. 밑으로 스크롤을 쭉 내려 추가 구성을 클릭

https://blog.kakaocdn.net/dna/bGWNbh/btsczK5egx9/AAAAAAAAAAAAAAAAAAAAAIRhCQKnP7No639F6j76lDuyf2A3FPal1i3Pwfs4qyuw/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1774969199&allow_ip=&allow_referer=&signature=sOvTDGoHoFXOuAp%2F%2BrSrscUsQMk%3D

  1. 추가 구성을 클릭하면 새로 선택지가 나옴, 스크롤을 내려 환경 변수에 환경 변수 이름과 서버의 주소를 넣음 -> 환경 업데이트 클릭

https://blog.kakaocdn.net/dna/d8pleY/btscBDELWdL/AAAAAAAAAAAAAAAAAAAAAPq6lBvRPb7Q8F8uHgks1knqYNdZqAj6v0zxZKan8xrb/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1774969199&allow_ip=&allow_referer=&signature=Wo2nMda3B43DLfwesv5pR0%2F7wsk%3D

  1. 파이프라인에 변경사항 릴리스를 클릭

https://blog.kakaocdn.net/dna/bIlzST/btscAq6Eqn0/AAAAAAAAAAAAAAAAAAAAALM4L3rOLv7zFlwmH0tjrUQPfbZLxz4ClUznHrqKyJK5/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1774969199&allow_ip=&allow_referer=&signature=jhzfL%2FgpiHG%2Bq8rLfB21q9wruiE%3D

결과

> 이렇게 나온다면 클라이언트와 서버의 연결이 성공한 것이다 . 물론, 서버가 이미 열려있는 상태여야 가능하다.<

+ Recent posts