このプロジェクトについて
Defang GitHub Actionは、Defangプラットフォームを通じて主要なクラウドプロバイダーへComposeベースのプロジェクトをデプロイするプロセスを簡素化するCI/CD統合です。ユーザー自身のAWS、Azure、GCPアカウント、およびDefang Playgroundへのデプロイに対応しています。
主な機能は以下の通りです:
- **シンプルなデプロイ**: GitHubワークフローに単一のステップを追加するだけで、Composeベースのプロジェクトをデプロイできます。このアクションには `contents: read` および `id-token: write` の権限が必要です。
- **シークレット管理**: GitHub Actions SecretsをDefangの設定値としてクラウドへ安全に渡せます。`config-env-vars` 入力を通じて公開する環境変数を指定することで、明示的にリストされたシークレットのみがクラウドへプッシュされることを保証します。
- **サブディレクトリのプロジェクト**: `cwd` 入力を使用することで、リポジトリのルートではなくサブディレクトリにあるComposeファイルを指定できます。
- **CLIバージョン管理**: 特定のDefang CLIバージョン(例:`v3.5.2`)をピン留めしたり、最新の不安定なビルドとして `nightly` を使用したり、またはGit ref(ブランチ名やコミットSHA)を渡してソースからCLIをビルドしたりできます。
- **カスタムコマンド**: `command` 入力を通じて、デフォルトの `compose up` コマンドを任意のDefang CLIコマンドと引数で上書きできます。
- **出力キャプチャ**: `capture-output: true` を使用して、コマンドのstdoutをステップの出力(`outputs.stdout`)として任意でキャプチャできます。大規模なデプロイではGitHub Actionsのメモリ制限を超える可能性があるため、デフォルトでは無効になっています。
- **デプロイ概要**: `compose up` 実行時、アクションは自動的に `defang services --json` を呼び出し、デプロイされたサービスのテーブル(公開エンドポイントをリンク付きで表示)をGitHubジョブ概要に書き込みます。また、主な公開HTTPSエンドポイントを `endpoint` 出力として公開し、これをジョブの `environment.url` に接続することで、実行ページ、Environmentsタブ、リポジトリサイドバーにクリック可能な「View deployment」リンクを表示できます。概要は `summary` 入力により切り替えることができます。
- **追加入力**: カスタムComposeファイルパスを指定する `compose-files`、デプロイスタックを選択する `stack`、詳細ログを出力する `verbose` などに対応しています。
このアクションは、設定、バージョン管理、出力処理に対するきめ細やかな制御を提供しつつ、デプロイワークフローを簡潔に保つように設計されています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.