글이 중구난방일거고 읽으시는 분들한테도 그닥 도움 안될 수 있지만
이 글의 전반적인 흐름은 다음과 같습니다.
완전 자동화 CI/CD 구축을 위해서는 Docker Hub의 repository를 이용하면 개굿임 진짜 편함!

사진처럼 도커 이미지 생성하는 법을 알아보자

여담인데 배포해보니깐 그냥 대머리 될거같음 공짜 공짜 공짜.. ㄹㅇ 공짜만 찾아 댕기는 듯 ㅠ....
무튼 Docker ID, PW or Access Token 이 필요한 이유는
이따가 GitHub Actions를 이용한 CI/CD를 구축하기 위해 보안 정보가 필요 함 ( 아래 사진 참고 )

만약 보안을 위해 Private으로 유지하고 싶다면 EC2 터미널에 접속해서 아래 명령어를 딱 한 번만 실행 ㄱㄱ
# EC2 터미널에서 입력
docker login -u [도커_허브_아이디]
# Password 입력창이 뜨면 '비밀번호'가 아닌 발급받은 'Access Token'을 입력하세요.
이렇게 한 번 로그인해두면 그 이후부터는 GitHub Actions가 도커 이미지를 올리고 EC2가 내려받는 과정이 막힘없이 진행됨
"배포 스크립트","CI/CD 파이프라인", "깃헙 Actions 설정" 이 중에 뭐라고 부르는지는 잘 모르겠지만
일단 이 코드는 잘 자기 프로젝트에 맞게 작성할 것
# .github/workflows/deploy.yml
name: My server CI/CD
on:
push:
branches: [ main ] # 메인 브랜치에 푸시될 때 실행
현재
branches: [main]으로 되어 있는데
이건 CI/CD를 구축하기에 안전한건 아님
왜냐하면 git Ubuntu가 내 SSH에 들어가서 직접적으로 수정하는거라서 SSH 22번 포트를 내 ip 외에도 열어줘야함난 일단 초짜라 요금 폭탄 맞기 싫어서 누구한테도 안열어 줄겅미

5분은 무슨 한 30분 걸린듯. ㅠ

이대로 실행하면 되긴하는데 약간의 디테일이 있음
Download부분은 저 대로 EC2 터미널에 하나씩 입력하면되고
Configure에
./config.sh --url https://~~~입력한 뒤에
./run.sh 대신에 아래 명령어 하면 좋음
# 서비스를 설치합니다. (관리자 권한 필요)
sudo ./svc.sh install
# 서비스를 시작합니다.
sudo ./svc.sh start
# 서비스 상태를 확인합니다.
sudo ./svc.sh status
이렇게하면 다음과 같다고 함

# Amazon Linux 2023 기준 수동 설치
sudo dnf install libicu -y
docker-compose.prod.yml에 nginx에 대한 필요한 코드 작성해주고~
nginx.conf도 작성해주고~
나는 nginx + certbot 폴더 생성해줬음
server
├── src
├── nginx/
│ └── default.conf
└── certbot/
├── conf/
│ └── .gitkeep
└── www/
└── .gitkeep
폴더구조는 자기 환경에 맞게끔 잘 조절해주면 GOOD!
# 1. 먼저 전체 서비스를 실행합니다. (이때 Nginx는 인증서가 없어 에러가 날 수 있지만 일단 띄웁니다)
docker compose -f docker-compose.prod.yml up -d
# 2. Certbot을 이용해 인증서를 발급받습니다.
docker compose -f docker-compose.prod.yml run --rm certbot certonly --webroot --webroot-path /var/www/certbot -d <url>
발급 성공하믄
근데 아마 여기서 발급받을 때 소스코드 부분 몇번 변경을 할거임
SSL 인증서까지 받았따면!? docker compose restart nginx ㄱㄱ 리스타트

여기까지 했다면 배포 굿 잘 된것임!!