자동화 릴리스 정보 a.ka. 릴리스와 함께 변경 로그를 부탁드립니다.

6862 단어 github
프로젝트에 무엇이 출시되고 있는지 궁금하십니까?

Keep a Changelog , 최신 변경 사항을 한눈에 볼 수 있도록 청중에게 최신 정보를 제공합니다!

그리고 더 좋은 점은 PR이 기본 분기에 병합될 때마다 CHANGELOG.md를 자동화하는 것입니다.
  • conventional commits 을 사용하여 커밋 메시지 형식을 갖는 표준 type을 만듭니다. type(optional scope): message
  • release please을 저장소에 github action으로 추가

  • Changelog를 자동화하는 방법



    1 - 리포지토리의 루트에 생성.github/workflows/release-please.yml
    $ mkdir .github && cd .github && mkdir workflows && cd workflows && touch release-please.yml
    


    2 - release-please.yml의 변경 사항을 수정하고 release-type을 선택합니다.

    # release-please.yml
    on:
      push:
        branches:
          - main
    name: release-please
    jobs:
      release-please:
        runs-on: ubuntu-latest
        steps:
          - uses: google-github-actions/release-please-action@v3
            with:
              release-type: simple
    


    3 - 커밋 메시지를 추가하고 브랜치를 병합합니다. 기존 커밋을 따르십시오.

    4 - 일부 변경 로그 섹션이 표시되지 않습니다. default 을 재정의하려면 필드changelog-types가 있는 hidden:false로 release-Please.yml을 업데이트하십시오.

    # release-please.yml
    ...
            with:
              release-type: simple
              changelog-types: >
                [
                  { "type": "build", "section": "Build System", "hidden": false },
                  { "type": "ci", "section": "Continuous Integration", "hidden": false },
                  { "type": "chore", "section": "Miscellaneous Chores", "hidden": false },
                  { "type": "docs", "section": "Documentation", "hidden": false },
                  { "type": "feat", "section": "Features", "hidden": false },
                  { "type": "fix", "section": "Bug Fixes", "hidden": false },
                  { "type": "perf", "section": "Performance Improvements", "hidden": false },
                  { "type": "revert", "section": "Reverts", "hidden": false },
                  { "type": "refactor", "section": "Code Refactoring", "hidden": false },
                  { "type": "style", "section": "Styles", "hidden": false },
                  { "type": "test", "section": "Tests", "hidden": false }
                ]
    


    5 - 풀 요청을 병합할 때 구성default to PR title for squash and merge commits

    6 - 자동 변경 로그 PR 참조 - github link



    github에서 Squash and merge PR을 사용하면 커밋이 하나의 커밋으로 그룹화되어 PR# 가 포함된 한 줄만 표시됩니다. Squash and merge PR을 사용하지 않는 동안 각 커밋은 "지속적인 통합"섹션에 표시된 대로 자체적으로 나열됩니다.



    PR의 개별 커밋 기록은 CHANGELOG.MD에서 PR#을 클릭하여 계속 볼 수 있습니다.



    릴리스 노트는 변경 사항을 반영하는 변경 로그가 있는 PR 본문에 있을 수도 있습니다overridden.





    병합된 PR 단순화



    병합된 PR을 구성하여 기본 분기에서 기록을 더 깔끔하게 유지

    1 - require branches to be up to date before merging
    에 분기 보호 규칙 추가



    2 - squash and merge commits on PRs을 사용하여 기본 브랜치에서 더 깨끗한 커밋 기록을 유지합니다.



    3 - Delete branches automatically 병합 후




    이 자습서의 Github 저장소는 찾을 수 있습니다here.

    좋은 웹페이지 즐겨찾기