이 작업은 자동으로 자산 업로드, 변경 로그 생성, 시험판 처리 등을 통해 GitHub 릴리스 프로세스를 단순화합니다.
참고 :
marvinpinto/action-automatic-releases
저장소는 이 작업과 다른 작업을 포함하는 marvinpinto/actions monorepo의 자동 생성 미러입니다. 문제를 제출하고 요청을 가져오세요.
이 예제 워크플로는 변경 사항이 master
에 적용되는 즉시 시작됩니다. 프로젝트를 빌드하고 테스트하는 단계를 실행한 후:
latest
이라는 git 태그를 생성(또는 대체)합니다.latest
태그 사이의 모든 커밋에서 변경 로그를 생성합니다.latest
태그와 관련된 새 릴리스를 생성합니다(이전 관련 릴리스 제거).Development Build
)으로 이 새 릴리스를 업데이트하십시오.LICENSE.txt
및 모든 jar
파일을 릴리스 자산으로 업로드합니다.pre-release
으로 표시합니다.marvinpinto/actions에서 이 워크플로우의 실제 예제를 볼 수 있습니다.
---
name : " pre-release "
on :
push :
branches :
- " master "
jobs :
pre-release :
name : " Pre Release "
runs-on : " ubuntu-latest "
steps :
# ...
- name : " Build & test "
run : |
echo "done!"
- uses : " marvinpinto/action-automatic-releases@latest "
with :
repo_token : " ${{ secrets.GITHUB_TOKEN }} "
automatic_release_tag : " latest "
prerelease : true
title : " Development Build "
files : |
LICENSE.txt
*.jar
이전 예와 마찬가지로 이 워크플로는 새 태그가 GitHub에 푸시되는 즉시 시작됩니다. 프로젝트를 빌드하고 테스트한 후:
LICENSE.txt
및 모든 jar
파일을 릴리스 자산으로 업로드합니다.다시 한 번 marvinpinto/actions에 이에 대한 예가 있습니다.
---
name : " tagged-release "
on :
push :
tags :
- " v* "
jobs :
tagged-release :
name : " Tagged Release "
runs-on : " ubuntu-latest "
steps :
# ...
- name : " Build & test "
run : |
echo "done!"
- uses : " marvinpinto/action-automatic-releases@latest "
with :
repo_token : " ${{ secrets.GITHUB_TOKEN }} "
prerelease : false
files : |
LICENSE.txt
*.jar
매개변수 | 설명 | 기본 |
---|---|---|
repo_token ** | GitHub 작업 토큰(예: "${{ secrets.GITHUB_TOKEN }}" | null |
draft | 이 릴리스를 초안으로 표시하시겠습니까? | false |
prerelease | 이 릴리스를 시험판으로 표시하시겠습니까? | true |
automatic_release_tag | 자동 릴리스에 사용할 태그 이름(예: latest . | null |
title | 출시 제목; 지정되지 않은 경우 기본적으로 태그 이름이 사용됩니다. | 태그 이름 |
files | 릴리스 자산의 일부로 업로드할 파일입니다. | null |
${{ steps.
통해 다음 출력 값에 액세스할 수 있습니다.
이름 | 설명 | 유형 |
---|---|---|
automatic_releases_tag | 이 작업이 방금 처리한 릴리스 태그 | 끈 |
upload_url | 릴리스에 추가 자산을 업로드하기 위한 URL | 끈 |
**
로 표시된 매개변수는 필수입니다.files
매개변수는 여러 줄의 glob 패턴을 지원합니다. 저장소 예제를 참조하세요. GitHub Actions 프레임워크를 사용하면 다양한 이벤트 조합 에서 이 작업(및 기타)을 트리거할 수 있습니다. 예를 들어, 릴리스 후보 태그(예: *-rc*
)에 대한 특정 사전 릴리스를 생성하고, 마스터에 대한 변경 사항(위의 예), 야간 릴리스 등을 생성할 수 있습니다. 아이디어와 고급 예제를 보려면 GitHub Actions의 워크플로 구문을 읽어보세요.
이 프로젝트의 마스터에 도달하는 모든 커밋은 자동 빌드와 latest
이라는 태그가 지정된 릴리스를 트리거합니다. 최신 버전을 사용하고 싶지 않다면 대신 안정적인 릴리스를 사용할 수 있습니다. 사용 가능한 버전은 릴리스를 참조하세요.
- uses : " marvinpinto/action-automatic-releases@ "
이 프로젝트의 기본 README에는 문제 디버깅 및 제출과 관련된 많은 정보가 있습니다. 그래도 문제가 해결되지 않으면 Keybase에 대해 저에게 문의해 주세요. 최선을 다해 도와드리겠습니다.
이 프로젝트의 소스 코드는 MIT 라이선스에 따라 공개됩니다. 이 프로젝트는 GitHub와 연결되어 있지 않습니다.