GitHub Actions! PlantUML 소스에서 이미지 파일을 자동 생성 및 커밋!

5414 단어 GitHubActionsplantuml
GitHub Actions를 처음 사용해 보았습니다.
여러가지 정보 찾기의 고생했기 때문에 자신적 메모도 포함 기재합니다.

만든 것



PlantUML 파일을 Push 하면 그것에 대응한 파일을 생성해 Commit&Push 하는 코드를 만들었습니다.

create-plantuml-images.yml
# /${PlantUMLのファイルが置いてあるディレクトリ}/*.puml のソースコードから画像ファイルを生成する
# トリガー:上記のソースコードの変更・追加がpushされること
# 実行環境:macOS Big Sur 11.0
name: Create PlantUML Images

# トリガー
on:
  push:
    paths:
      - ${PlantUMLのファイルが置いてあるディレクトリ}/*.puml #eg. docs/sequence-diagrams/*.puml

# 実行内容
jobs:
  build:
    runs-on: macos-11.0
    steps:
      #git checkout
      - uses: actions/checkout@v2
      #PlantUMLのパッケージインストール
      - name: Install packages
        run: |
          brew install plantuml
      #画像生成(最後のlsはGitActionのコンソール上で結果確認するため)
      - name: Create Images
        run: |
          cd ./${PlantUMLのファイルが置いてあるディレクトリ}
          for puml in `ls -a *.puml`
          do
            cat ./${puml} | plantuml -tsvg -p > ./${puml%.*}.svg
          done
          ls -l
      #git commit & git push
      - name: Commit changes
        uses: EndBug/add-and-commit@v5
        with:
          message: 'Create image files by GitHub Action(create-plantuml-images.yml).'
          add: './${PlantUMLのファイルが置いてあるディレクトリ}/*'
          push: true
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # ここはおまじない的に必須

여기에서 GitHub Actions 메모



정의 파일



배치 위치


  • /.github/workflows 아래에 배치한다. yml 형식으로 설명.

  • 템플릿이 풍부


  • GitHub 사이트에서 Actions를 만들려고 하면 다음과 같이 템플릿이 여러 개 준비되어 있다.
  • 원하는 곳의 Set up this workflow 버튼을 누르면 yml 파일이 표시되므로 이것을 복사하면 편합니다.


  • 시동 조건


  • Push나 PR등의 이벤트×파일 패스×추가・갱신・삭제를 조합해 지정하는 것이 가능.
  • cron적인 지정도 가능.
  • Push 를 설정해도 GitHubAction 내에서 Push 되어도 기동하지 않는다 (같다).

  • 실행 기계



    얼마 안 있어 이하가 이용 가능. macOS를 사용할 수 있는 것이 개인적으로 기쁘다.
    * WindowsServer
    * 우분투
    * macOS

    Git에 액세스



    Checkout


    actions/checkout@v2이것만으로 OK. 마음대로 트리거가 된 Branch를 Checkout 해준다.
    인증 주위의 설정은 불필요.

    Commit and Push


    EndBug/add-and-commit@v5 사용( 여기 ).
    커밋 메시지와 대상 파일, Push한다는 속성을 넣는 것만으로 좋다.
    보다 세세한 설정도 가능.

    움직이지 않는다! ?



    Actions 탭을 열 때 다음 메시지가 표시되면 GitHubActions를 사용할 수 없습니다.
    낡은 과금 모델(리포지토리수)이라고 사용할 수 없기 때문에 새로운 과금 모델(멤버수)에 계약을 변경해 봅시다.

    GitHub Actions workflows can't be executed on this repository.
    The billing plan for XXXXXX does not include access to GitHub Actions. Please contact the organization owner or billing manager for questions about the current billing plan

    소감


  • 번거로운 인증 주위의 교환이 없고, 깨끗이 기재할 수 있었습니다.
  • 신규 작성시에는 템플릿 파일도 풍부하고, Docker Hub의 컨테이너 이미지나 Dockerfile도 이용 가능하기 때문에, 간단하게 여러가지 조립할 것 같은 인상을 받았습니다. 앞으로 사용하겠습니다.
  • 좋은 웹페이지 즐겨찾기