지능형 GiitHub Pull Request 릴리즈

5112 단어 GitGitHubhub

모티프

  • 명령 스크립트를 실행하여 Pull Request
  • 보내기

    사전 준비


    hub 명령 설치


    Mac

    $ brew install hub
    

    Hub OS로 이동

    cd /tmp
    git clone https://github.com/github/hub.git
    cd hub/
    ./script/build
    cp hub /usr/local/bin/
    
  • go가 없으면 오류가 발생합니다.이 때 다음 명령을 실행하고 go를 입력합니다.
  • $ cd /tmp
    $ curl https://storage.googleapis.com/golang/go1.4.linux-amd64.tar.gz 
    $ sudo tar -C /usr/local -xzf  go1.4.linux-amd64.tar.gz
    
    # .bash_profile に記載
    export PATH=$PATH:/usr/local/go/bin
    $ source ~/.bash_profile
    

    명령줄에서 Pull Request 실행


    Pull Request 템플릿 파일 준비

  • 다음 템플릿 파일 준비
  • 프로젝트 준비에 따라 원하는 양식
  • .pullreqmessage.txt
    [#ticket-no][WIP][Task/Bug]
    
    ## 対象チケット
    https://github.com/user-name/hogehoge/ticket-no
    
    ## 対応内容
    
    ### PR ステータス
     - [ ] 実装完了
     - [ ] レビュー
     - [ ] レビュー指摘対応
     - [ ] 完了
    

    마스터에 대해 Pull Request 실행

    $ git branch
    * work_branch
      master
    
  • Pull Request 릴리즈
  • # user-name はリポジトリのある user-name に適宜変更する
    $ hub pull-request --browse -F ~/.pullreqmessage.txt -b user-name:master -h user-name:$(git symbolic-ref --short HEAD)
    # symbolic-ref の --short オプションが使用できない場合は下記
    $ hub pull-request --browse -F ~/.pullreqmessage.txt -b user-name:master -h user-name:$(git rev-parse --abbrev-ref HEAD)
    

    script화

  • 오류 추적 시스템 사용(예를 들어 Redmine)을 고려하여 스크립트를 실행할 때 매개 변수에 표 번호를 전달하고 Pull Request의 제목이나 본문에 표 번호를 삽입합니다
  • .
    create_pullreq.sh
    #!/bin/sh
    
    if [ $# -ne 1 ]; then
      echo "指定された引数は$#個です。"
      echo "引数にチケット番号を渡してください。"
      exit 1
    fi
    
    if expr "$1" : '[0-9]*' > /dev/null ; then
      echo "チケット番号 $1 の Pull Request を作成します。"
    else
      echo "チケット番号が不正です。数値を入力してください。"
      exit 1
    fi
    
    
    echo 'Create temporary format file.'
    sed -e "s/ticket-no/$1/g" ~/.pullreqmessage.txt > ~/.pullreqmessage_temp.txt
    
    echo 'Exec Pull Request'
    hub pull-request --browse -F ~/.pullreqmessage_temp.txt -b user-name:master -h user-name:$(git symbolic-ref --short HEAD)
    
    echo 'Delete temporary format file.'
    rm ~/.pullreqmessage_temp.txt
    

    스크립트 실행(사용)

    # 例: チケット番号 0000 用の Pull Request を作成する場合
    $ sh create_pullreq.sh 0000
    

    명령 실행 후

  • Pull Request 작성 및 페이지 표시

  • SSH 연결 서버 등 브라우저를 열 수 없는 환경일 경우

  • export BROWSER=echo.bash_약관에 기재되면 페이지를 표시하는 대신 표준 출력 Pull Request의 URL로 변경할 수 있습니다.
  • 참고 자료

  • https://github.com/kasaharu/scriptForGitHub
  • 좋은 웹페이지 즐겨찾기