このプロジェクトについて

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` などに対応しています。 このアクションは、設定、バージョン管理、出力処理に対するきめ細やかな制御を提供しつつ、デプロイワークフローを簡潔に保つように設計されています。