私はS3を使用して静的なWebサイトをホストしており、Teamcityのビルド結果をS3バケットにアップロードしたいと考えています。TeamCityの成果物フォルダをAWS S3バケットにアップロードするにはどうすればよいですか?
答えて
サードパーティ製のプラグインがあります:https://github.com/guardian/teamcity-s3-plugin
いくつかの時点で公式サポートができるようまた、私はチームシティートラッカーで、この要求のために見てお勧めします:https://youtrack.jetbrains.com/issue/TW-21560
しばらくの間、これに取り組んで後に見つかりました、解決策。
AWSでIAMロールを使用して起動されたEC2インスタンスでTeamCity Agentがホストされていること。
S3バケットにアクセスし、TeamCity IAMロールがそれを引き継ぐことができるように、デプロイヤーIAMロールを設定します。
次に、AWS CLIコマンドを使用してコンテンツをバケットにアップロードします。
例(PowerShellの)アカウントの
STEP 1.リクエスト一時的な資格情報
#-----------------------------
# Get parameters
#-----------------------------
$RoleArn = "%param_deployer_arn%"
$ExternalId = "%param_assume_role_external_id%"
$Region = "%param_region%"
$SessionName = "%param_session_name%"
#-----------------------------
# AWS Authentication - Assume Role
#-----------------------------
$Response = (Use-STSRole -Region $Region -RoleArn $RoleArn -ExternalId $ExternalId -RoleSessionName $SessionName).Credentials
$SecretAccessKey = $Response.SecretAccessKey
$SessionToken = $Response.SessionToken
$AccessKeyId = $Response.AccessKeyId
#-----------------------------
# Set environment variables
#-----------------------------
"##teamcity[setParameter name='env.AWS_SECRET_ACCESS_KEY' value='$SecretAccessKey']"
"##teamcity[setParameter name='env.AWS_SECURITY_TOKEN' value='$SessionToken']"
"##teamcity[setParameter name='env.AWS_ACCESS_KEY_ID' value='$AccessKeyId']"
STEP 2.(環境変数に保存されたセッショントークンとアクセスキーを使用してAccess AWS)
重要:TeamCityの別のステップで行う必要があります)
#-----------------------------
# List S3 bucket content
#-----------------------------
aws s3 ls s3://%S3Bucket%
あなたはTeamCityでCLIの手順をどのようにしたかを教えてください。 –
私の元の投稿を編集して例を追加しました。 – MaRoBet
- 1. Amazon S3バケットのオブジェクトのダウンロードリンクを作成するにはどうすればよいですか?
- 2. AWS S3バケット内のフォルダの名前を変更するコスト
- 3. wgetでS3バケットからファイルをダウンロードするにはどうすればよいですか?
- 4. aws-sdkでs3バケットをクリアする
- 5. Amazon S3で複数のドメインを同じバケットにマップするにはどうすればよいですか?
- 6. multifileからaws s3バケット
- 7. PHP SDKを使用してAWS S3バケットに外部ファイルをアップロード
- 8. バージョニングされたS3バケットを削除するにはどうすればいいですか?
- 9. TeamCityの出力成果物がIIS7フォルダに公開されていません
- 10. Amazon S3バケットに_all_オブジェクトを表示するにはどうすればよいですか?
- 11. アップロードする最も速いS3バケットを見つけよう
- 12. Amazon S3バケットをバックアップまたは同期するにはどうすればよいですか?
- 13. オープンソースの成果物をMavenリポジトリに配置するにはどうすればよいですか?
- 14. s3バケット内のオブジェクトを削除/カウントするにはどうすればよいですか?
- 15. ファイルをSSL経由でS3に直接アップロードするにはどうすればよいですか?
- 16. C++でAWS S3のアクセスキーとシークレットを非表示にするにはどうすればよいですか?
- 17. Mavenのサブプロジェクトからビルド成果物を統合するにはどうすればよいですか?
- 18. AWS RDSスナップショットを独自のS3バケットにエクスポートする方法は?
- 19. PHP API経由でAmazon S3バケットの下にフォルダを作成するには?
- 20. 複数のExcelフォルダを複数のFTPフォルダにアップロードするにはどうすればよいですか?
- 21. AWS - S3バケットとディストリビューションを作成するためのスクリプト
- 22. サイトアカウントごとにaws s3オブジェクトへのアクセスを制限するにはどうすればよいですか?
- 23. ローカルMavenリポジトリからプロジェクト成果物を削除するにはどうすればよいですか?
- 24. プラグイン内でMaven成果物をダウンロードするにはどうすればよいですか?
- 25. フォルダを除外してバケットのコンテンツを一覧表示するにはどうすればよいですか?
- 26. AWS S3バケット内のすべてのオブジェクトをデフォルトでパブリックにするにはどうすればいいですか?
- 27. paperclipアップロードを新しいモデル/ S3バケットにコピーする方法は?
- 28. ブラウザでAWS S3のファイルを編集するにはどうすればよいですか?
- 29. S3に完全にアクセスできるs3バケット、IAMユーザーを作成するにはどうすればいいですか?ユーザーの資格情報をアプリケーションに渡すにはどうすればよいですか?
- 30. AWS Lambda Java、S3バケットに書き込む
リンクされた問題の結果として、Jetbrains https://github.com/JetBrains/teamcity-s3-artifact-storage-pluginの正式に開発されたプラグインもあります。 – sthzg