我使用S3來託管一個靜態網站,並希望能夠將TeamCity構建的結果上傳到S3存儲桶中。如何將TeamCity的工件文件夾上傳到AWS S3存儲桶?
4
A
回答
3
有第三方插件:https://github.com/guardian/teamcity-s3-plugin
此外,我會建議看在TeamCity的跟蹤這個請求作爲在某些時候可以有官方的支持:https://youtrack.jetbrains.com/issue/TW-21560
3
這方面的工作了一段時間後,發現一個辦法。
將TeamCity代理託管在使用AWS中的IAM角色啓動的EC2實例中。
設置部署者IAM角色可以訪問S3存儲桶並允許TeamCity 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']"
步驟2.
(使用存儲在環境變量會話令牌和訪問密鑰的訪問AWS)重要提示:需要在TeamCity的不同步驟中完成)
#-----------------------------
# List S3 bucket content
#-----------------------------
aws s3 ls s3://%S3Bucket%
+1
您能否請您說明您是如何在TeamCity上執行CLI步驟的? –
+0
剛編輯我原來的帖子,並添加了一個例子。 – MaRoBet
相關問題
- 1. 無法使用CORS將文件上傳到AWS S3存儲桶
- 2. 上傳到AWS S3存儲桶時更改文件名
- 3. 用於PHP的AWS S3 SDK,上傳到存儲桶中的文件夾
- 4. 使用Filepicker.io將文件上傳到S3存儲桶中的文件夾
- 5. 使用ASP.NET SDK將文件上傳到S3存儲桶的文件夾
- 6. PHP如何在aws s3存儲桶中創建文件夾?
- 7. 如何將圖片上傳到AWS s3存儲桶?
- 8. 使用Aws Lambda將圖像上傳到AWS S3存儲桶
- 9. 文件AWS S3存儲桶自動
- 10. Parse-服務器將Heroku上託管的文件傳輸到AWS S3存儲桶
- 11. Windows中的AWS Cli不會將文件上傳到s3存儲桶
- 12. 上傳到S3存儲桶
- 13. AWS S3 PHP可以直接將文件上傳到存儲桶中的文件夾
- 14. 無法使用aws-java-sdk將文件上傳到S3存儲桶
- 15. 使用php將文件上傳到aws s3存儲桶時發生錯誤
- 16. 使用PHP SDK將外部文件上傳到AWS S3存儲桶
- 17. 如何使用django-storage將AWS S3存儲桶中的文件夾?
- 18. 如何將圖像直接存儲到AWS S3存儲桶,使用fckeditor上傳?
- 19. 在AWS S3存儲桶中重命名文件夾的成本
- 20. 無法將圖像上傳到AWS S3中的存儲桶中
- 21. 無法將文件上傳到S3存儲桶
- 22. 將文件從jenkins上傳到S3存儲桶
- 23. NodeJS如何從aws s3存儲桶下載文件到磁盤?
- 24. 如何將文件/目錄上傳到存儲桶中的文件夾?
- 25. 如何將AMI文件存儲到S3存儲桶?
- 26. Rails回形針上傳到S3會返回存儲桶URL,但存儲桶上不存在文件夾
- 27. 如何從EC2實例導航到S3存儲桶文件夾?
- 28. AWS Lambda:如何提取S3存儲桶中的tgz文件並將其放入另一個S3存儲桶中
- 29. 如何上傳使用JavaScript SDK在AWS S3存儲桶多文件瀏覽器
- 30. 如何使用boto將文件上傳到S3存儲桶中的目錄
作爲鏈接問題的結果,還有一個由Jetbrains官方開發的插件https://github.com/JetBrains/teamcity-s3-artifact-storage-plugin。 – sthzg