Github Actions を使ってみた

 GitHub

Github Actions

このサイトのデプロイをGithub Actionsで構築してみました。

使ったアクション

  • Checkout
    • Github公式のリポジトリからファイルを取得するアクション。
  • SCP Files
    • scp コマンドでデプロイ先のサーバーにファイルをコピーするのに使用
  • SSH Commands
    • ssh 経由でデプロイ先のサーバーでコマンドを実行するのに使用
    • 複数サーバーでの同時実行もできる模様。

ユーザーが作成したアクションの数が 2020/02/28 現在で 2300 を超えていて、様々な環境や様々な方法で環境構築できそうです。

躓いたところ

Github Actions 自体で躓くことはなく、どちらかというとssh経由でコマンドを実行させる時に環境変数を読まなくて躓いてました。

最初、元々サーバーに用意されている .bashrc に環境変数を追記してたのでそれを source ~/.bashrc して読み込ませればよいやとやってたら、対話モードじゃない場合は何もしない処理がファイルの先頭に書いてあって結果読み込まれないという罠にはまりました。

なので環境変数をexportする部分を別ファイルに書き出してsshでコマンド実行する前にそのファイルを読み込ませるということで対処しました。

この辺はunix系の知識不足でしたね……。

使ってみた感想

動作をyamlで書く必要がある点を除けば、意外と簡単に実装できました。実行ログをGitHubのページで見ることができ、UIが見やすかったのもポイント。Actionsを構成するためのGUIツールが出てきたら一気に流行りそうです。

簡単なWebアプリやSPA、ブログやドキュメントの文章生成・公開といった単純なもののデプロイに向いてそうです。というか十分です。GitHubの性質を生かしてオープンソースなWebアプリのデプロイの自動化にも使えそうです。

頻度がそこまで多くなければ無料枠で足りるのもポイントです。GitHubアカウントさえ持っていればできるので、一度触ってみるとよいかもです。

Published at 2020-02-27 19:53