github actions 3

[문제 해결] GitHub Actions가 작동하지 않는 문제 해결

문제 상황 default branch(main branch)가 아닌, 다른 branch에서 GitHub Actions를 실행시키는 과정에서 발생한 문제이다. develop 브랜치에 push하거나, pull request를 할 경우 GitHub Actions가 작동하도록 아래와 같이 workflow 파일을 작성했다. name: CI for backend on: push: paths: "backend/**" branches: [ "develop" ] pull_request: paths: "backend/**" branches: [ "develop" ] ... 그러나, develop 브랜치로 pull request를 해도 GitHub Actions가 동작하지 않았다. 문제 해결 문제의 원인을 한 줄로 요약하자..

[GitHub Actions] Self-Hosted Runner를 활용한 CI 파이프라인 구축

지난 프로젝트에서 CI 파이프라인을 구축한 방법 지난 Open Domain Question Answering 프로젝트를 진행하면서 CI 파이프라인을 구축하기 위해 GitHub에서 제공하는 서버(GitHub-hosted runner)에서 GitHub Actions를 사용했다. 그러나, GitHub-hosted runner는 하드웨어적인 한계나 서버 인프라를 직접 관리할 수 없다는 한계가 있었기 때문에, 새로운 프로젝트에서는 self-hosted runner를 활용하기로 결정했다. GitHub-hosted runner의 한계점 GPU를 활용할 수 없다. GitHub-hosted runner에서 GPU를 활용하기 위해서는 Team 또는 Enterprise plan에 가입해야 하는 것으로 알고 있다. 따라서 사..

Backend/기타 2023.07.05

GitHub Actions를 활용한 CI 구축

Open Domain Question Answering 프로젝트를 진행하면서 코드를 수정하여 merge할 때마다 해당 코드에 문제가 없는지 테스트를 진행해야 할 필요성을 느꼈다. train과 inference가 평균적으로 1시간 가까이 걸리기 때문에 코드의 문제가 뒤늦게 발견되는 경우 시간 낭비가 심했다. 따라서 코드가 master branch에 merge될 때마다 테스트가 자동으로 수행될 수 있도록 CI 환경을 구축하기로 결정했다. 요구사항 CI 환경을 구축하면서 내가 정의한 요구사항은 다음과 같다. 1. 사전에 코드의 문제를 파악하기 위해 다양한 가능성을 고려한 테스트를 진행한다. 테스트를 위한 파이썬의 내장 모듈인 unittest가 존재하지만, unittest는 테스트 작성을 위해 반드시 클래스를 ..

Backend/기타 2023.06.17