반응형
본격적으로 웹사이트를 만들고 꾸미기 전에 ec2 서버에 ssh로 접속해서 코드를 작성하기에는 한계가 있으니
작업 PC에서 개발환경을 구축하고 테스트한뒤 aws에서 제공하는 codepipeline 서비스를 이용해서 배포한다.
- CodeCommit
- repository 생성 & git 연동
- CodeBuild
- CodeDeploy
- CodePipeline
CodeCommit
AWS CodeCommit은 기업이 안전하고 조정성이 뛰어난 프라이빗 Git 리포지토리를 쉽게 호스팅할 수 있도록 지원하는 완전 관리형 소스 제어 서비스
CICD PipeLine 구성 전 Build에 필요한 buildspec.yml 파일과 Deploy에 필요한 appspec.yml과 scripts 파일을 미리 준비해야한다.
- buildspec.yml
- appspec.yml
- install_dependencies.sh
- start_server.sh
- stop_server.sh
- validate_server.sh
buildspec.yml , appspec.yml 파일은 소스코드의 루트 티렉토리에, 스크립트 파일은/scripts 하위에 작성
buildspec.yml
version: 0.2
phases:
install:
commands:
- echo install
pre_build:
commands:
- echo pre_build
build:
commands:
- echo build
post_build:
commands:
- echo build completed
artifacts:
files:
- '**/*'
appspec.yml
version: 0.0
os: linux
files:
- source: /
destination: /var/www/ysy_project
hooks:
BeforeInstall:
- location: scrtips/ install_dependencies.sh
timeout: 300
runas: root
ApplicationsStart:
- location: scripts/start_server.sh
timeout: 300
ApplicationsStop:
- location: scripts/stop_server.sh
timeout: 300
runas: root
ApplicationsService:
- location: scripts/validate_server.sh
timeout: 300
runas: root
scripts 디렉토리 생성 후
install_dependencies.sh
cd /var/www/ysy_project
find . ! -name "my_settings.py" -delete
start_server.sh
#!/bin/bash
service httpd start
stop_server.sh
#!/bin/bash
isExistApp=`pgrep httpd`
if [[ -n $isExistAPP ]]; then
service httpd stop
fi
validate_server.sh
#!/bin/bash
service httpd start
systemctl status httpd
반응형
'[개인 웹사이트 만들기]' 카테고리의 다른 글
AWS+Django 기반 웹사이트 제작 8 (웹사이트 개발, codepipeline 3/5) (1) | 2024.10.21 |
---|---|
AWS+Django 기반 웹사이트 제작 8 (웹사이트 개발, codepipeline 2/5) (0) | 2024.06.03 |
AWS+Django 기반 웹사이트 제작 7 (local PC에 test 환경 구성) (0) | 2024.05.27 |
AWS+Django 기반 웹사이트 제작 6 (Route 53, ALB 생성) (0) | 2024.05.23 |
AWS+Django 기반 웹사이트 제작 5 (SSL-TLS 인증서 등록) (0) | 2024.05.22 |