例: Amazon S3 にファイルを発行する
次のワークフローの例には、Amazon S3 発行アクションとビルドアクションが含まれています。このワークフローは、静的ドキュメントウェブサイトをビルドして、サイトがホストされる Amazon S3 に発行します。このワークフローは、連続して実行される次の構成要素で構成されます。
-
トリガー – ソースリポジトリに変更をプッシュすると、このトリガーによってワークフローが自動的に開始されます。トリガーについての詳細は、「トリガーを使用したワークフロー実行の自動的な開始」を参照してください。
-
ビルドアクション (
BuildDocs
) – トリガーされると、アクションは静的ドキュメントウェブサイト (mkdocs build
) をビルドし、関連する HTML ファイルとサポートメタデータをMyDocsSite
というアーティファクトに追加します。ビルドアクションの詳細については、「ワークフローを使用したビルド」を参照してください。 -
Amazon S3 発行アクション (
PublishToS3
) – ビルドアクションが完了すると、このアクションはアーティファクトMyDocsSite
のサイトを、ホスティングのために Amazon S3 にコピーします。
注記
次のワークフロー例は説明を目的としており、追加の設定なしでは機能しません。
注記
次の YAML コードでは、必要に応じて Connections:
セクションを省略できます。このセクションを省略する場合は、環境のデフォルトの IAM ロールフィールドで指定されたロールに、Amazon S3 発行アクションに必要なアクセス許可と信頼ポリシーが含まれていることを確認する必要があります。デフォルトの IAM ロールを使用して環境を設定する方法の詳細については、「環境を作成する」を参照してください。Amazon S3 発行アクションに必要なアクセス許可と信頼ポリシーの詳細については、「Amazon S3 発行」アクションの YAML の Role プロパティの説明を参照してください。
Name: codecatalyst-s3-publish-workflow SchemaVersion: 1.0 Triggers: - Type: PUSH Branches: - main Actions: BuildDocs: Identifier: aws/build@v1 Inputs: Sources: - WorkflowSource Configuration: Steps: - Run: echo BuildDocs started on `date` - Run: pip install --upgrade pip - Run: pip install mkdocs - Run: mkdocs build - Run: echo BuildDocs completed on `date` Outputs: Artifacts: - Name: MyDocsSite Files: - "site/**/*" PublishToS3: Identifier: aws/s3-publish@v1 Environment: Name: codecatalyst-s3-publish-environment Connections: - Name: codecatalyst-account-connection Role: codecatalyst-s3-publish-build-role Inputs: Sources: - WorkflowSource Artifacts: - MyDocsSite Configuration: DestinationBucketName: amzn-s3-demo-bucket SourcePath: /artifacts/PublishToS3/MyDocSite/site TargetPath: my/docs/site