GitHub Action Self Hosted Runner 란?
자체 실행기를 호스팅하고 GitHub Action 워크 플로에서 작업을 실행하는 데 사용되는 환경을 사용자 지정할수 있습니다.
Github Action 을 써봤지만, Github 에서 관리하는 서버에서 빌드하고 빌드된 파일을 AWS CodeDeploy 나 SCP 명령어를 통해 AWS EC2 서버에 CI/CD 구축을 계속 해봤습니다.
하지만 이번에 새롭게 시작한 프로젝트에서 고정IP 아니면 허용을 못해준다 라는 요구사항이 있어, 다른것들을 찾아보다가 Github Action 에서 Self Hosted Runner 를 지원해주는것을 알고 사용하게 된 방법입니다.
보통은 Github 에서 지원해주는 서버에 코드를 올려 yml 로 작성한 코드를 실행해 워크 플로에서 작업을 실행하는것이라고 알고 있지만, 이번에는 자체 호스팅을 열어서 yml 코드를 실행하며 작업을 실행하는것을 토대로 작성하였습니다.
실제로 작업해본 결과 많이 힘들었습니다. ubuntu 를 쓰고 있지만 방화벽을 열어줘야하나? 라고 생각하고 이것 저것 시도 하다가 결국엔 성공하였습니다.
- 여기서 Settings 에 들어갑니다.
- 여기서 Actions 에 Runners 에 들어갑니다.
- 여기서 New self-hosted runner 에 들어갑니다
- 그러면 이런식으로 편리하게 Github 에서 정리를 해놓고 명령어만 복붙한다면 쓸 수 있도록 만들어놨습니다.
현재 Windows 지만 저는 ubuntu 로 작업하였기 때문에 ubuntu x64 으로 진행하겠습니다.
- 해당 서버컴퓨터에 명령어를 치면서 깔아두고 해당 토큰을 기반으로 설정해줍니다.
- 이런식으로 Idle 가 된다면 성공입니다.
자체 호스팅을 이용한 배포 작업
위와 같이 deploy.yml 를 만들어줍니다.
jobs:
build:
runs-on: self-hosted
이런식으로 runs-on 을 self-hosted 로 변경하면 이제 서버컴퓨터에서 워크플로 작업을 실행하고 아래와 같이 성공을 할수 있습니다.
저는 이런 아키텍처를 구성해서 실제로 서버를 배포해봤습니다.
공식 문서
'Git | GitHub' 카테고리의 다른 글
fork (2) | 2023.06.12 |
---|---|
Git (0) | 2023.04.26 |