2016-04-25 12 views

答えて

3

サードパーティ製のプラグインがあります:https://github.com/guardian/teamcity-s3-plugin

いくつかの時点で公式サポートができるようまた、私はチームシティートラッカーで、この要求のために見てお勧めします:https://youtrack.jetbrains.com/issue/TW-21560

+0

リンクされた問題の結果として、Jetbrains https://github.com/JetBrains/teamcity-s3-artifact-storage-pluginの正式に開発されたプラグインもあります。 – sthzg

3

しばらくの間、これに取り組んで後に見つかりました、解決策。

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% 
+1

あなたはTeamCityでCLIの手順をどのようにしたかを教えてください。 –

+0

私の元の投稿を編集して例を追加しました。 – MaRoBet

関連する問題