はじめに
初めまして!
エンジニアになって数年、今まで本を読むだけでしたが、もっとプライベートで楽しみながら成長したい!自分が学んだ足跡を残していきたい!と思い記事を書きました!
最終的には自在に開発できるようになりたいと思っています。
いろいろな記事を参考にさせてもらっています。
「いいね」か「ブックマーク」
を頂けると僕のモチベーションアップになります!
少しでも気に入っていただけたらよろしくお願いいたします!
今回の目的
自分の作ったコンポーネントを確認したり検証するための技術を身に付けたい!
公式のクイックスタートを参考に進めていきます。
項目ごとに補足のみ書いて進めています。わかりづらいところの理解の手助けになれば幸いです!
主に参考にさせていただいた記事
式
式について
式をyml内で使用する場合は${{}}で設定します。
使用できるリテラルは「文字列、boolean、number、null」です。(booleanはtruthy、falthyの判定もあります)
env:
MY_ENV_VAR: ${{ github.event_name }}
比較演算子は緩やかな判定になります。厳密な型チェックは入りません。
機能
contains( search, item )
オブジェクトフィルターを使用して、issuesにバグの文字列があるか判定する場合
contains(github.event.issue.labels.*.name, 'bug')
また、どちらかの文字列を持っているか判定したい場合
contains(fromJSON('["push", "pull_request"]'), github.event_name)
startsWith( searchString, searchValue )
第一引数が第二引数で始まる場合はtrue
startsWith('Hello world', 'He')
endsWith( searchString, searchValue )
startsWithと同じような仕組み
endsWith('Hello world', 'ld')
format( string, replaceValue0, replaceValue1, ..., replaceValueN)
第一引数に任意の場所で結合していきます。
format('Hello {0} {1} {2}', 'Mona', 'the', 'Octocat')
使い方
env:
TEST: ${{format('Hello {0} {1} {2}', 'Mona', 'the', 'Octocat')}}
steps:
- run: echo $TEST
または
steps:
- run: echo ${{format('Hello {0} {1} {2}', 'Mona', 'the', 'Octocat')}}
ステータスチェック関数
下記のように使用します。
- if: ${{ success() }}
run: echo "成功"
- if: ${{ cancelled() }}
run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
- if: ${{ failure() }}
run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
オブジェクトフィルタ
アスタリスクを使用して柔軟にオブジェクトの改装を指定できます。
fruitsオブジェクト(fruits.*.nameでnameフィールドの配列が取得できる)
[
{ "name": "apple", "quantity": 1 },
{ "name": "orange", "quantity": 2 },
{ "name": "pear", "quantity": 1 }
]
次
コンテキスト