GitHub Actions에서 출시

2799 단어 GitHubActions
다음을 시도했습니다.
  • GitHub에 v1.0.0 와 같은 태그를 push하면 릴리스한다
  • 의존하는 라이브러리의 소스 코드를 포함한 zip 파일 생성
  • 하위 모듈과 CocoaPods를 사용했으며 아카이브에 스냅 샷을 포함하고 싶었습니다.


  • 이런 식으로 아카이브가 첨부된다.



    출처



    공개용으로 uhooi씨의 샘플 프로젝트에 추가해 보았다.
  • htps : // 기주 b. 이 m/후레레를 d/이오 SDC2020-한 lk-사 mpぇ/bぉb/마인/. 기테 b/를 rkfぉws/레아아세. yml

  • 리포지토리 이름과 태그 이름 가져오기



    저장소 이름은 ${{ github.repository }}에서 organization을 지우면 얻을 수 있습니다. ( github 컨텍스트 )${{ github.ref }}refs/tag/タグ名이므로, 전반을 지우면 태그명을 얻을 수 있다.
    각각을 output에 넣어 두면 계속되는 태스크로 참조할 수 있다. (참고: GitHub Action에서 Docker 컨테이너를 빌드하고 Amazon ECR에 저장 , GitHub Actions에서 Job의 Output 값을 후속 Job에서 참조 )
    - name: Set version
      id: version
      run: |
        REPOSITORY=$(echo ${{ github.repository }} | sed -e "s#.*/##")
        VERSION=$(echo ${{ github.ref }} | sed -e "s#refs/tags/##g")
        echo ::set-output name=version::$VERSION
        echo ::set-output name=filename::$REPOSITORY-$VERSION
    

    서브 모듈을 포함한 clone


    ${{ secrets.GITHUB_TOKEN }}는 동일한 저장소에 대한 읽기/쓰기 권한 만 있습니다. ( Authenticating to package registries on GitHub )
    그래서 다른 private 저장소를 포함하여 clone하고 싶다면 액세스 토큰을 만들어 그것을 지정한다. ( 개인 액세스 토큰 사용 )
    - name: Checkout code
      uses: actions/checkout@v2
      with:
        token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
        submodules: true
    

    zip 파일을 만들지 만 .git은 포함하지 않습니다.



    쓰는 방법은 아마 쉘에 의존하기 때문에 요동작 확인.
    - name: Archive
      run: |
        zip -r ${{ steps.version.outputs.filename }}.zip ./ -x "*.git*"
    

    좋은 웹페이지 즐겨찾기