CatHand Blog

アプリ開発やMac弄り

BitriseのStepの作り方

基本的に↓に従って進めていきます。

Developing a new Step | Bitrise DevCenter

bitrise :step create で質問に答えていくと Step のファイル群が生成されます。今回は bash スクリプトで作成します。

Secrets の設定

テスト用のSecrets は .bitrise.secret.yml で設定できます。

.bitrise.secret.yml

envs:
- TEST_PERSONAL_ACCESS_TOKEN: "hogehogehoge"

としておいて、

bitrise.yml

app:
  envs:
  # define these in .bitrise.secrets.yml
  - TEST_PERSONAL_ACCESS_TOKEN: "$TEST_PERSONAL_ACCESS_TOKEN"

workflows:
  test:
    - path::./:
        inputs:
        - personal_access_token: "$TEST_PERSONAL_ACCESS_TOKEN"

のようなかんじにすると、ローカルテスト時に $TEST_PERSONAL_ACCESS_TOKEN を参照できます。

依存関係

今回、 jqnkf を使いたかったので、依存関係を追加します。

step.ymldefs にこれらを追加します。

deps:
  brew:
  - name: jq
  - name: nkf
  apt_get:
  - name: jq
  - name: nkf

ビルドマシンが mac のときは brew で、linux のときは apt_get でインストールされる?っぽいです。

実装・ローカルテスト

あとは step.sh を編集していきます。

bitrise run test でローカルでテストを実行できます。

Github へ push

ローカルテストでだいたい動作を確認できたら Github へ push します。

bitrise.io の Workflow Editor の yml 編集で

    steps:
    - git::https://github.com/{リポジトリオーナー}/{リポジトリ名}.git@master:
        inputs:
        ...

みたいなかんじにすると、いま作ったステップを追加できます。

yml で追加した後 Workflows で表示するときにエラーが出る場合は、ブラウザをリロードすると直ります。

ローカルとは環境が違うので、bitrise.io でちゃんと動作しない場合は地道に直していきます…。

bitrise.io の Steps に出てくるように共有

やってません。そのうちやるかも。

成果物

今回作ったものを載せておきます。

コミットコメント内の issue number を抽出して Github の issue の title と body を取得するやつ

GitHub - alphaversion/bitrise-step-github-issue-info

Github の issue にコメントを追加するやつ

GitHub - alphaversion/bitrise-step-post-comment-to-github-issue

RedmineWikiに追記するやつ

GitHub - alphaversion/bitrise-step-update-redmine-wiki