나의 발자취

Github Action, Azure로 배포 자동화하기 본문

Backend

Github Action, Azure로 배포 자동화하기

달모드 2024. 11. 29. 16:55

일단, 연습용 빈 레포지토리를 만든다.

 

그리고 이전에 만든 guestbook을 push 해준다.

 

 

애져 포탈에 들어와서 App Services > 웹 앱을 새로 만들어준다.

 

 

Application Insights 적용 안함

 

 

이제 깃에 있는 소스코드가 애져에 배포가 될 것이다.

로컬에서 개발을 하고 push를 하게 되면, 자동으로 push event를 받아서 빌드하고 배포를 하는 자동화를 실행해줄것이다.

자동화의 경우 .yml 파일로 하는데, 이 파일은 Github Action에서 생성해서 주게 된다.

 

 

배포 슬롯 생성을 해준다.

 

 

 

배포 센터에 간다.

 

 

소스에서 Github를 선택한다.

로그인을 해준다.

 

 

 

기본 인증을 선택해준다.

 

그러면 이렇게 빨간 알림창이 뜰것이다.

 

 

클릭해서 들어가면, '구성'으로 오게 된다.

밑에 SCM 기본 인증 게시 자격... 을 "설정"으로 바꾸어주고, 저장해준다.

 

 

다시 돌아와서 설정을 해주면, 이제 인증 유형을 "기본 인증"으로 설정해주어도 빨간 알림창이 뜨지 않는 것이 확인된다.

 

하단 워크 플로 구성에서 파일 미리 보기를 누르면 yml파일이 자동으로 만들어지고, 내용을 대충 보면 push에 반응한다는 걸 볼 수 있다. 

 

새로 고침을 하면 방금 만든 배포 파일이 확인된다.

 

 

이제 깃허브에 가본다.

Action 탭을 보면, 하나가 돌고 있는게 확인된다.

 

 

클릭해서 상세하게 확인을 해보면 현재 배포 상황들이 나온다.

 

클릭해서 로그를 상세히 본다.

 

Re-run failed jobs를 해준다.

 

 

버튼 클릭

 

 

과연 될것인지

 

 

배포가 잘 되었다!

 

 

여기 deploy 밑의 웹주소를 클릭해본다.

 

 

배포가 잘 된것이 확인된다!

 

 

이제 실시간으로 변경한 사항이 배포가 잘 되는지 확인하기 위해 제목을 바꿔줄거다.

 

제목만 바꿔준다.

그리고 먼저 pull을 해주고, 그다음 변경사항을 push해준다.

 

 

그러면 애져에도, 깃허브 액션에도 방금 push한 커밋 로그가 정상적으로 배포된 것이 확인된다.

 

 

역시 아래의 주소를 눌러서 들어가보면,

 

아까 내가 변경한 사항이 배포된 것이 확인된다.

 

 

그러나 현재는 workflow의 변경사항을 push할 때마다 바로 push되는것이고, 이것 외에 staging용 배포하는 방법을 알아보겠다.

 

 

클릭한다

 

여기안에도 배포 센터가 있다. 클릭

 

 

yml 파일의 이름이 똑같아서 겹치기 때문에, 이름을 변경해준다. __ 를 앞에 추가 (staging용 yml)

 

 

다시 돌아와서 staging용을 채워준다.

 

그리고 저장을 해주면 staging용 배포가 만들어진다.

 

보통 동시에 두 개의 workflow가 돌아가면 둘 중 하나는 실패하는 경우가 있기 때문에, 한번 잘 봐준다.

 

 

한번 테스트를 해준다. 또다른 수정을 해준다.

 

그리고 pull & push

 

Github action에서 확인해준다.

 

 

 

그럼 변경사항이 잘 확인된 걸 볼 수 있다.

 

 

그리고 나중에 workflow , staging을 바꾸고 싶으면 Swap 기능을 사용할 수 있다.

staging에서 테스트를 해보고, 그다음 production으로 올릴 수 있겠다 싶으면 이 때 Swap을 해준다.

 

 

Comments