- GitHub上でウェブアプリケーションを開発している
- GitHub ActionsでCI/CDを設定している
- 何らかのトリガー(リリースタグの作成等)で、開発環境や本番環境にデプロイしたい
- デプロイ用シェルスクリプトを自前で用意している
- シェルスクリプト内でSCPやrsync over SSHなどを実行している
探してみた
GitHub Marketplaceで探してみました。見てみたところ、どれもSCPやrsyncを単独のコマンドとして実行するもので、スクリプト内で実行したいという場合には無力の様子。
作ってみた
なければ作ればいい。というわけで、SSH鍵を登録するActionを作ってみました。
Install SSH Key
使い方
- あらかじめSSHの秘密鍵と公開鍵をsecretsに登録しておく
- GitHub ActionsのYAMLファイル内で、スクリプトを実行する前にこのActionを呼び出す
private-key
,public-key
,name
をパラメーターとして指定するprivate-key
,public-key
は必須name
は省略可能(省略時はid_rsa
)- あとはスクリプト内でSCPもrsyncも自由自在
デプロイ手順が複雑、GitHubで管理する以前からデプロイスクリプトを用意していた、あまりGitHubにロックインされたくない…といった理由で独自にスクリプトを用意している場合はあると思います。
そんなときはこのActionを使ってみてください。
0 件のコメント:
コメントを投稿