ActionTweetElixir版HerokuのGigalixir、使ってますか?環境構築も非常に簡単で、Elixir製のアプリを速攻でデプロイするのに非常に便利です。使ったことのない方は@piacereさんの【本番構築Gigalixir編1】Elixir/Phoenixの初期PJリリースまでの手順などを見て、触ってみると良いと思います。この記事ではそんな便利なGigalixirを使い倒すために、GitHubActionを利用して特定のブランチにpushされたタイミングでGigalixirへデプロイする手順を解説します。GitHubActionとはGitHubActionとはGitHubが提供するCIサービスです。特定のブランチにmergeされたらデプロイを実行など、TravisCIややCircleCIといった他のCIツールと同じような使い心地でCIを組み込むことができます。2019/10/17時点でファイルのキャッシュに対応していないため、規模の大きなプロジェクトだと厳しい模様。見る限り、11月中旬を目処に組み込むとのことなので、期待大ですね。利用したことがない方は、以下のページよりパブリックベータ版を利用できます。workflowのymlを作成するgitのプロジェクトのルートに、.github/workflows/deploy.ymlを新規作成します。ローカルでymlを新規に作るか、GitHubのActionsタブから適当に言語を指定すると、GitHubのファイル編集画面に遷移します。この画面から作ってもOKです。ファイルを作成したら、次のように記述します。productionブランチにmergeされたらgigalixirでデプロイするようにしています。ここは各自のブランチ戦略に合わせて変えてOKです。CLIをpipでインストールする必要があるため、python環境を用意します。gigalixirのcliをpipでinstallします。installしたCLIを利用してgigalixirにログインします。<PASSWORD>のようにアカウント情報を渡せばログインできるようになっています。メールアドレスとパスワード、後述のAPP_NAMEはGitHubのSecretsから設定した環境変数を読み込んでいます。パスワードのベタ書きはやめておきましょう。リモートリポジトリを作成します。APP_NAMEはgigalixirで作成したアプリ名を指定します。(XXXXX)のようになっているようです。適当な名前のブランチをローカルに作成&移動後、ローカルブランチをリモートリポジトリにpushしてデプロイします。ここではCIが回るブランチ名と合わせてproductionブランチとしています。これでymlの設定は完了です。シンプルですね!環境変数を設定する続いて、リポジトリのSettings>Secretsから環境変数の設定をします。yml内で参照しているAPP_NAMEgigalixirでのアプリ名GIGALIXIR_EMAILアカウントのメールアドレスGIGALIXIR_PASSWDアカウントのパスワードの値をそれぞれ設定してください。Actionのworkflowが開始されればOKです。Actionの詳細から、ログが確認できます。まとめこれでgigalixirへの継続的なデプロイが可能です!個人開発にはもってこいのツールですね。