본문 바로가기

Backend

[CI/CD] github self-hosted runner로 ec2 배포하기

반응형

 

1. ec2 인스턴스 생성 및 실행하기

2. pem 키로 ec2 접속하기

3. java 설치 및 self hosted runner 설치

# remote runner 설치 명령 스크립트
mkdir actions-runner; cd actions-runner
Invoke-WebRequest -Uri https://github.com/actions/runner/releases/download/v2.321.0/actions-runner-win-x64-2.321.0.zip -OutFile actions-runner-win-x64-2.321.0.zip
if((Get-FileHash -Path actions-runner-win-x64-2.321.0.zip -Algorithm SHA256).Hash.ToUpper() -ne '88d754da46f4053aec9007d172020c1b75ab2e2049c08aef759b643316580bbc'.ToUpper()){ throw 'Computed checksum did not match' }
Add-Type -AssemblyName System.IO.Compression.FileSystem ; [System.IO.Compression.ZipFile]::ExtractToDirectory("$PWD/actions-runner-win-x64-2.321.0.zip", "$PWD")
./config.cmd --url https://github.com/hyeon-gyu/AWS_prac --token ANDNB43UKOGKG2QSXRY34B3HNUBKE
./run.cmd
nohup ./run.sh &

 

4. github workflow에 yml cicd 스크립트 작성하기

https://github.com/hyeon-gyu/blaybus-contest/blob/main/.github/workflows/deploy.yml

 

blaybus-contest/.github/workflows/deploy.yml at main · hyeon-gyu/blaybus-contest

Blaybus 실전 앱 개발 경진대회 . Contribute to hyeon-gyu/blaybus-contest development by creating an account on GitHub.

github.com

* 연습겸 스크립트 작성해봤습니다! (주석도 같이 작성하면서 복습)

 

5. ec2 프리티어 메모리 스왑 진행하기

아,! 메모리 스왑은 거의 필수적으로 해줘야한다. 왜냐하면 runner가 java 17 jar를 기동시키는 순간 ec2가 멈춰버린다. 메모리 1기가론 턱없이 부족하기 때문이다. 그래서 보통은 2gb정도 메모리 스왑으로 더 충원시켜서 총 3GB정도의 메모리는 가지고 있어야 EC2가 터지지 않는다. 그렇지 않으면 무한 로딩 상태에 머물게 된다. 마치 이렇게..

무한로딩

 

반응형