GitHub Actions에서 할머니를 구현해보십시오.

2020/11/16 추가: 속편 을 썼습니다.
  • 전 재료 : Java에서 유파를 구현해보십시오.
  • 쉘 스크립트 버전의 선구자 : Shell script로 유파를 구현해 보았습니다.

  • 워크플로우



    .github/workflows/yubaba.yml
    name: 湯婆婆
    on:
      workflow_dispatch:
        inputs:
          name:
            description: '契約書だよ。そこに名前を書きな。'
            required: false
    jobs:
      keiyaku:
        runs-on: ubuntu-latest
        steps:
          - name: フン。${{ github.event.inputs.name }}というのかい。贅沢な名だねぇ。
            id: rnd
            run: |
              set -eu
              name='${{ github.event.inputs.name }}'
              random=$[RANDOM % ${#name}]
              echo ::set-output name=new_name::${name:random:1}
          - name: 今からお前の名前は${{ steps.rnd.outputs.new_name }}だ。いいかい、${{ steps.rnd.outputs.new_name }}だよ。分かったら返事をするんだ、${{ steps.rnd.outputs.new_name }}!!
            run: echo '::debug::Convert ${{ github.event.inputs.name }} to ${{ steps.rnd.outputs.new_name }}.'
    

    등록 방법


  • GitHub Actions를 리포지토리에서 활성화
  • 이미 계정 단위로 활성화되었으므로 설명은 할애

  • /.github/workflows 폴더에 위 내용의 파일 (* .yml)을 만들고 기본 분기에 커밋
  • Actions 탭을 열고 '유파파'가 Workflows에 등록되어 있는지 확인한다.

  • 이용방법


  • [Actions] 탭을 열고 [유파] workflow를 클릭합니다.

  • 우측 상단의 「Run workflow」버튼을 클릭해, 「계약서야. 거기에 이름을 쓰지 말아라.」에 이름을 입력한다.

  • 녹색 Run workflow 버튼을 누릅니다.

  • 실행 예



    정상 시스템



    「야마다 타로」



    htps : // 기주 b. 코 m / 노기 c1008 / gh 아 c 치온 s 아 d

    실행마다 무작위로 바뀝니다. 릴런 때도 바뀝니다
    htps : // 기주 b. 이 m/노기 c1008/gh-c 치온 s-d dゔㅇt-2020/룬 s/1383715888


    「𠮷田」



    𠮷田 씨도 제대로 일할 수 있습니다.
    htps : // 기주 b. 코 m / 노기 c1008 / gh 아 c 치온 s 아 d


    "👪👪"



    사치스러운 이모티콘도 OK.
    htps : // 기주 b. 코 m / 노기 c1008 / gh 아 c 치온 s 아 d


    이상계



    빈 문자열



    사양대로입니다.
    htps : // 기주 b. 코 m / 노기 c1008 / gh 아 c 치온 s 아 d


    「’」



    사양외입니다만, 이스케이프가 번거롭고 「'」는 그렇게 호화스러운 이름이 아니기 때문에 괜찮겠지요.
    htps : // 기주 b. 코 m / 노기 c1008 / gh 아 c 치온 s 아 d


    해설



    수동 실행 트리거 (workflow_dispatch)



    Actions 탭에서 수동으로 실행할 수 있는 워크플로를 정의할 수 있습니다.
    # 単純に「実行」ボタンが出るだけ
    on: workflow_dispatch
    
    # 入力ボックスのある「実行」ボタン(今回使ったもの)
    on:
      workflow_dispatch:
        inputs:
          # 後から値を参照するためのプロパティ名(任意)
          # この場合は ${{ github.event.inputs.name }}に入力値が入ってくる
          name:
            # 入力ボックスの名前
            description: '契約書だよ。そこに名前を書きな。'
            # 必須入力かどうか(未指定時はfalse)
            required: false
            # デフォルトで入っている値(未指定時は空)
            default: '山田太郎'
    

    작업 단계 간의 값 교환


  • 출력 파라미터 설정
  • steps 컨텍스트
  • :: 로 시작하는 특수 명령을 표준 출력에 던져 워크플로우의 동작을 제어할 수 있습니다.
        steps:
          - name: Set Randomly
            id: rnd # 後からこのステップを参照するために必要
            # rndの出力パラメータにnew_name=山を指定
            run: echo '::set-output name=new_name::山'
            # 出力パラメータはsteps.(ステップのid).outputs.(出力パラメータ名)で参照可能
          - run: echo '${{ steps.rnd.outputs.new_name }}'
    



    워크플로우의 수동 실행, 「자동 테스트는 하고 싶지만, 릴리스는 자신의 타이밍으로 하고 싶다」같은 상황에 어떻습니까.
    여력이 있으면 ::add-mask 를 사용하여 진짜 이름을 숨기거나 합니다. → 썼습니다.

    좋은 웹페이지 즐겨찾기