TIL(Today I Learned)

2월 26일(일)

공부한 내용을 제 언어로 빠르게 정리한 내용이라서 잘못된 내용이 있을 수 있습니다.

  • Github Actions
    • 자동화 도구
    • 유사한 서비스로 Travis-CI, GitLab CI/CD, Jenkins 등이 있다.
    • 코드에 변화가 생기면 지정해 놓은 작업들을 자동으로 수정해준다.
    • 사용
      • Deployment(배포)
      • Code Linting(코딩 스타일 준수 여부 체크)
      • Unit test
    • 작동 방식
      • Trigger(Push to Github) -> Job(Run Unit Test) -> Result(Success/Fail)
      • 로컬에서 작업한 내용을 깃헙에 푸쉬하면, 깃헙에 미리 지정해놓은 작업들을 자동으로 수행하고 결과를 알려주는 방식으로 작동.
    • 가격
      • 분단위로 지불
      • 2000분은 무료로 사용가능
    • 세팅 방법
      • “.github/workflows/checks.yml” 경로에 트리거를 기재하고 린팅, 테스팅 등의 작업들을 기재해놓으면 된다.
      • 예)
        ---
        name: Checks
        
        on: [push]
        
        jobs:
          test-lint:
            name: Test and Lint
            runs-on: ubuntu-20.04
            steps:
              - name: Login to Docker Hub
                uses: docker/login-action@v1
                with:
                  username: $
                  password: $
              - name: Checkout
                uses: actions/checkout@v2
              - name: Test
                run: docker-compose run --rm app sh -c "python manage.py test"
              - name: Lint
                run: docker-compose run --rm app sh -c "flake8"
        

참고