한 번의 클릭 or 명령어로 전체 배포 과정을 자동으로 진행
소스코드 관리부터 배포까지의 과정을 연결하는 구조
순차적으로 실행하며, 각 단계마다 Actions 실행
CodeCommit : Source 단계
GitHub와 유사하지만 보다 보안에 강함
CodeBuild : Build 단계
CodeDeploy : Deploy 단계
CodePipeline : 파이프라인 구축에 사용
# Java 설치
sudo apt install openjdk-11-jre-headless
# AWS CLI 설치
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
sudo apt install unzip
unzip awscliv2.zip
sudo ./aws/install
aws --version # 설치여부 확인
# CodeDeploy Agent 설치
sudo apt update
sudo apt install ruby-full # [Y / n] 선택시 Y 입력
sudo apt install wget
cd /home/ubuntu
sudo wget https://aws-codedeploy-ap-northeast-2.s3.ap-northeast-2.amazonaws.com/latest/install
sudo chmod +x ./install
sudo ./install auto > /tmp/logfile
# 설치 완료 후 서비스가 실행중인지 확인
# active(running) 문구 확인
sudo service codedeploy-agent status
appspec.yml
buildspec.yml
scripts
환경 변수 노출을 막기 위해 aws의 parameter store 서비스 이용
spring.datasource.url
=jdbc:mysql://{AWS RDS Endpoint}/test?useSSL=false&characterEncoding=UTF-8&serverTimezone=UTCspring.datasource.username
={RDS Mysql Admin id}spring.datasource.password
={RDS Mysql Admin password}config.domain
={AWS S3 Endpoint}금요일 실습인데 일요일이 돼서야 뭐가 잘못됐는지 정확하게 알고 수정해서 얻어낸 DB연결 성공 페이지!ㅠㅠㅠㅠㅠㅠ 힘들었따...🥹
#.env 파일 수정
# npm도 다시 설치해야 함
npm install
# build
npm run build
# build 디렉토리 밑에 생성된 파일들을 S3 객체에 업로드
parameter store에 파라미터 생성을 환경변수 개수대로 해야하는데 한 개만 함 ➡️ 당연히 나머지 환경변수가 없어서 못 읽어옴 ^^~
서버 포트번호를 잘못된 번호로 바꿔서 반응이 없었음,,
그래도 알고 고치니까 행벅하다~~
걸린 시간 : 두 시간 정도? 금요일 실습 시간 제외하고 ^^~.....ㅠ
그래도 성공해서 다행이다
재.밌.었.다.하하