ロゴテキスト ロゴ

    GitHub Actionsの理解とHello Worldを出力する

    GitHub Actionsの理解とHello Worldを出力する

    GitHub製のCIツール、 GitHub Actions を使ってみます。

    GitHub Actionsの理解と、最終的に実際に「Hello World!」とechoしてみます。

    GitHub Actionsとは

    GitHubが提供するCI/CDサービス。 GitHubが提供するが故にGitHubとの連携は他サービスよりしやすそう。

    料金について

    GitHub Actionsの料金
    • パブリックリポジトリは無料
    • プライベートリポジトリは無料で2000分以上の使用が可能(↑画像参照)

    プライベートリポジトリでも個人開発であれば無料枠で問題なさそう。 チーム開発でもワークフロー自体に時間がかかるものが少なければ無料枠で収まるかもですね。



    GitLabやBitbucketを使用している場合は難しそうですが、 GitHubを使っているプロジェクトではCI/CDツールとして新たな選択肢に入りますね!

    hello worldを表示する

    公式の「Quickstart」があって、英語ではありますがそちらが参考になります。 Quickstart for GitHub Actions - GitHub Docs

    GitHub上の設定を確認

    GitHubのプロジェクトの設定画面でActionsが有効になっていることを確認します。


    Enable local and third party Actions for this repository もしくは Enable local Actions only for this repository が選択されている事を確認します。



    デフォルトで1番上の Enable local and third party Actions for this repository なっているので特に設定を変更する必要がなさそう(2020/09/28現在)

    GitHub上でアクションが有効になっている事を確認する

    Actionsを作動させるymlを追加する

    GitHubにpushしたらActionsを作動させるような.ymlファイルを作成します。



    .github/workflows/ディレクトリにGitHub Actionsに対応した.ymlファイルを作成する事でActionsを作動させる事ができます。


    .ymlファイルの名前は「.github/workflows/」配下であればなんでも問題ない模様



    今回は参考用に .github/workflows/hello.yml を作成してみます。

    .github/
      workflows/
        hello.yml
    .github/workflows/hello.yml
    # ワークフローの名前、Actions上に表示される
    name: Hello, World!
    # 何をアクションとするか
    # この場合該当リポジトリにどのブランチでpushしても以下のjobが必ず実行される
    on: push
     
    jobs:
      # jobのkey名
      # 複数のjobを作成し他のjobから使用する際にはこのkey名を使用する
      # もしこのjobのnameを指定しなかった場合は、このkey名がnameとして使われる
      build:
        # jobの名前
        name: Greeting
        # 使用するOperating System
        runs-on: ubuntu-latest
        # 実行する内容
        steps:
          - run: echo "Hello, World!"

    この状態でpushをすると、


    ワークフローを選択する画面

    Actionsのワークフローを選択する画面


    実行されたワークフローの内容

    実行されたワークフローの内容

    「Hello World!」が表示されました!



    余談

    starter-workflows というリポジトリがあって何か新しく始めたい時に参考になりそうです

    actions/starter-workflows: Accelerating new GitHub Actions workflows

    プロフィールの背景画像 プロフィール画像
    Yuki Takara
    都内でフリーランスのエンジニアをやってます。フロントとアプリ開発メインに幅広くやってます。