본문 바로가기
TIL

항해99_TIL220703(쉘 스크립트, GitHubAction, AWS CodeDeploy CICD)

by Hyeongjun_Ham 2022. 7. 7.

오늘은 GitHubAction, AWS CodeDeploy를 이용한 CICD를 공부해봤다.

 

이 블로그에 굉장히 자세히 나와있었다.

쉘 스크립트는 따라하지 않고, 푸쉬하고 빌드만 정상적으로 작동하는지까지 마쳤다.

 

출처 : https://bcp0109.tistory.com/363

 

Github Actions CD: AWS EC2 에 Spring Boot 배포하기

Overview 애플리케이션을 개발하면 외부에서도 접근 가능하도록 클라우드 환경에 배포합니다. 이전에 포스팅 했던 AWS 1편에서는 마지막에 scp 명령어로 로컬에 존재하는 빌드 파일을 EC2 인스턴스

bcp0109.tistory.com

 

나온 오류 :Github Action 빌드시 contextLoads Failed 에러

원인 : github action에서 mysql을 실행시키지 않아서 에러가 났다.

 

Test with Gradle

이 스탭부터 작성한 단위테스트가 있다면 테스트를 자동으로 수행해준다.

테스트를 돌릴 시, ApplicationTest 파일 내 선언된 @SpringBootTest 어노테이션 때문에 DB 커넥션 정보를 찾게 되는데,

이 때 커넥션 정보가 없어 에러가 나는 것을 방지하기 위해 test/resources 디렉토리 하위에 application.yml 파일을 새로 생성해야 한다고 한다.

그런데 급해서 일단 어노테이션만 주석처리하고 실행시켰다.

 

출처 : https://enant.tistory.com/29

 

Github Action 빌드시 contextLoads Failed 오류

spring server를 ec2에 배포하는 과정을 자동화할 방법을 찾다가, github Action을 사용해보기로 했다. Github Action? Github Action을 간단히 설명하면 빌드, 테스트, 배포 등의 작업을 자동화 시켜주는 도구이

enant.tistory.com

 

출처 :https://jane514.tistory.com/4

 

Github Action 으로 CI workflow 생성해보기(w/ Spring Boot)

안녕하세요! 제인입니다 :) 최근 진행하고 있는 사이드 프로젝트에서 CI를 어떤 툴로 적용을 해볼건지에 대한 논의가 있었는데요, 기존에 익숙하게 사용하던 Jenkins를 택하지 않고 새롭게 Github Act

jane514.tistory.com

 

- 쉘 스크립트 

처음해보는 것을 생성부터 하려니 쉽지가 않았다.

#!/bin/bash

echo "hello world"

port=`ps -ef | grep java | grep todoli-0.0.1-SNAPSHOT.jar | awk '{print$2}'`

echo $port

kill -9 $port

nohup java -jar todoli-0.0.1-SNAPSHOT.jar &

tail -f nohup.out
  • 생성 :
    • vi 파일이름.sh
    • #!/bin/bash 작성
    • echo "hello world" 작성

코드 순서

  • 5번째 줄에서 현재 nohup으로 실행중이다. 그것의 PID를 찾음
  • 9번째 줄에서 nohup을 강제종료
  • 11번째 줄에서 다시 nohup으로 실행
  • 13번째 줄은 로그를 보려고 작성