오늘의 인기 글
최근 글
최근 댓글
Today
Total
11-25 04:00
관리 메뉴

우노

[Github Actions] 주요 필드 본문

DevOps/GitHub

[Github Actions] 주요 필드

운호(Noah) 2023. 3. 11. 16:18

들어가기 앞서,

  • 예제 코드를 통해, Github Workflows 파일의 주요 필드에 대해서 다뤄보겠습니다.

예제 코드

  • develop branch 업데이트 시, 태그 및 릴리즈를 자동 생성하는 코드입니다.

      # Workflow 이름입니다.
      name: Release Tag
    
      # 어떤 조건에 Workflow를 Trigger 시킬지를 의미합니다.
      on:
        # push(Branch or Tag), pull_request, schedule 등을 사용할 수 있습니다.
        push:
          branches:
            - develop
    
      # Workflow가 실행할 작업입니다.
      # 여러 Job이 있을 경우, 병렬 실행이 기본이며, 해당 예제에선 하나의 job만 있습니다.
      jobs:
        Test:
    
        # job을 실행할 환경입니다.
        runs-on: ubuntu-latest
    
        # 해당 job이 실행할 단계입니다.
        steps:
    
          # 누군가가 만들어놓은 action을 실행하겠다는 의미입니다.
          - uses: actions/checkout@v2                   # 가져다 쓸 action을 의미합니다. (Github 코드를 CI 서버로 내려받은 후, 특정 브랜치로 전환하는 action입니다.)
    
          # 태그 생성
          - name: Bump version and push tag             # 해당 단계의 이름입니다.
            id: tag_version                             # 해당 단계를 대표하는 id입니다.
            uses: mathieudutour/github-tag-action@v5.5  # 가져다 쓸 action을 의미합니다. (auto tagging 프로그램입니다.)
            with:                                       # Action에 전달할 값을 의미합니다.
              github_token: ${{ secrets.GITHUB_TOKEN }} # secrets.GITHUB_TOKEN는 자동생성됩니다.
    
          # 릴리즈 생성
          - name: Create Release
            id: create_release
            uses: actions/create-release@v1
            env:                                           # 해당 Action에 적용할 환경 변수를 의미합니다.
              GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
            with:                 
              tag_name: ${{ steps.tag_version.outputs.new_tag }}
              release_name: Release ${{ steps.tag_version.outputs.new_tag }}
              body: ${{ steps.tag_version.outputs.changelog }}

참고

Comments