AWS EC2에 git변경 시 자동 배포 : github commit/push(trigger point) ⇒ (최종) AWS EC2에 컨테이너 배포
local git → (commint/push) github repo → (자동 : gitaction) docker hub img 생성 → (자동 : gitaction) aws 컨테이너 배포
Step 1(수동배포). gitAction을 사용해 github push 되면 docker hub에 이미지 생성
- github action 활성화
- (IntelliJ) .github>workflows>main.yml
- (github Settings) Secrets and variables > Actions : main.yml에서 사용한 secret 변수 설정
- DOCKER_HUB_USERNAME DOCKER_HUB_PASSWORD
- Dckerfile : docker build 설정파일
결과 : git push하면 docker hub에 이미지 생성되는 것 확인
Step2(자동배포). github에 push되면 AWS 컨테이너 실행
- AWS 설정
- EC2 실행(ubuntu), 8080포트 접속 허용
- docker 설치
sudo apt-get update sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common curl -fsSL <https://download.docker.com/linux/ubuntu/gpg> | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] <https://download.docker.com/linux/ubuntu> $(lsb_release -cs) stable" sudo apt-get update #실제 docker설치 sudo apt-get install docker-ce docker-ce-cli containerd.io docker --version sudo chmod 666 /var/run/docker.sock #docker img 다운로드(pull) docker pull [img이름:버전] #tag를 latest로 생성하기 위해 docker tag [기존tag] [신규tag] docker run -d --name server -p 8080:8080 [img이름] docker ps //구동 확인 # -d : 백그라운드에서 동작, --name : 컨테이너 이름
- github action main.yml에 deploy 추가
- aws ec2 배포주소 확인
- gitAction이 aws에 접속가능하도록 key set 설정
- 키 생성
ssh-keygen -t rsa -b 4096 -C "jyoungp02@gmail.com" -f lgu-cicd
- 키 등록 : 개인키 - gitAction
- 키 등록 : 공개키 - ec2 서버
vi ~/.ssh/authorized_keys2
결과 : git push하면 docker hub에 이미지 생성되는 것 확인
docker ps -a
참고1. github acution 키 설정 부분
'Coding > Back - Spring Framework' 카테고리의 다른 글
Spring Security : Authentication 1/2 #Day24 (0) | 2023.10.26 |
---|---|
보안 기초 : 쿠키(Cookie) & 세션(Session) #Day23 (0) | 2023.09.18 |
Docker란? 컨테이너 생성하고 구동하기 #Day21 (0) | 2023.09.13 |
Spring API문서화 2/2 Spring RestDocs #Day20 (0) | 2023.09.12 |
Spring API문서화 1/2 Swagger #Day19 (0) | 2023.09.12 |