ここ最近、CI/CDはGitHub Actionsをガンガン活用しています。
条件を満たせば無料で使用できるうえ、慣れればやりたいことがガンガンできるので、個人利用する分には割と最強だと思っています。
本記事ではGitHub Actionsでcommitとpushをする方法を備忘録として残しておきます。
GitHub Actionsを使用できるようにする
GitHub ActionsはCI/CDをするには非常に便利です。
使用するにはGitHubのアカウントを持っていることと、CI/CDを実行したいプログラムのリポジトリーをGitHubに作成している必要があります。
GitHub Actionsは、GitHubのアカウントやリポジトリーの状況によって料金が変わります。
無料アカウントを使用して、publicリポジトリーを使用する場合は無料です。
無料アカウントかつ、privateリポジトリーを使用する場合は月間2000分までは無料です。
2000分を超えると自動で課金にはならず、CI/CDが動かなくなります。その状態から動かしたい場合は料金を払う必要があります。
とはいえ個人利用であれば2000分もあれば大抵足りるでしょうし、こだわりがなければpublicリポジトリーをを使えば完全無料です。
超ヘビーユーザーでない限りは無料で使用可能でしょう。
workflowファイルを作成する
リポジトリーの準備が整ったら、いよいよCI/CDが動くように「workflowファイル」を作成します。
リポジトリーのタブにある「Actions」をクリックし、「set up a workflow yourself」をクリックします。
すると、workflowを記述するページに遷移します。
jobs: build: steps: でCI/CDの処理を書いていきます。
本題である、「プログラムの実行結果をリポジトリーにプッシュする」ために、プログラムを実行するような処理を書きます。
その後で以下のようにjobs: build: steps: に書くことでプログラムの実行結果をリポジトリーにプッシュすることができます。
- name: Commit and Push run: | git add -N . if ! git diff --exit-code --quiet then git config user.name "your name" git config user.email "your mailaddress@yourma.com" git add . git commit -m "commit message" git pull git push origin master fi
実行結果をaddして、変更があった場合のみ、プッシュするようにしています。
実行結果を保存しておきたい時などに非常に便利です。
まとめ
GitHub Actionsで、プログラムの実行結果をリポジトリーにプッシュする方法でした。
自動化を自在に操れるようになると、プログラムでできることがどんどん広がっていくので、是非とも習得したほうが良い技術だと思います。
特にGitHub Actionsはお手軽に自動化の恩恵を得ることができるで、今後どんどん普及していくだろうなあとひしひしと感じています。