簡體   English   中英

AWS Amplify + bitbucket 部署問題

[英]AWS Amplify + bitbucket deployment issue

我正在嘗試使用帶有前端的 bitbucket 存儲庫來部署 Amplify 項目。 在部署階段,Amplify CLI 要求提供 OAuthToken(在 bitbucket 中的任何地方都找不到)。 OAuth 消費者擁有密鑰和秘密,並且兩者都不被 Amplify CLI 接受。

我得到的錯誤是:

There was an issue setting up your repository.   
Please try again later.({"type": "error",        
"error": {"message": "Access token expired."}})  
(Service: Amplify; Status Code: 400; Error Code: 
BadRequestException; Request ID:                 
ceced480-e38d-4c44-a1db-ad2eb50e34a8; Proxy:     
null) 

我可能在這里做錯了什么。 但是幾個小時的谷歌搜索並沒有幫助我。

請指教。 提前非常感謝!

解決方案是在您的 bitbucket 帳戶中設置 OAuth 消費者(密鑰和秘密),但您必須遵循一些特定步驟。

單擊您的帳戶配置文件名稱 -> 設置。 在 OAuth 消費者下,單擊添加消費者。

  • 將回調 url 設置為 http://localhost:3000 注意:這從未使用過,但如果不設置某些東西就無法工作
  • 勾選“這是私人消費者”

權限:

  • 存儲庫 -> 管理員
  • Webhook -> 讀寫
  • 拉取請求 -> 閱讀

創建后,記下密鑰和秘密,因為它將在下一步中使用。

打開終端(替換 KEY 和 SECRET)並運行:

curl -X POST -u "KEY:SECRET" https://bitbucket.org/site/oauth2/access_token -d grant_type=client_credentials

這將返回您應該復制的access_token

現在,這讓我大吃一驚,因為在 AWS 中,您可以提供訪問令牌或宣誓令牌。 由於我們使用的是 OAuth,即使返回的令牌稱為access_token ,在 aws 中我們也需要將其添加到 OAuthToken 字段中。

在 Cloudformation 中,它如下所示(AWS CLI 使用類似命名的字段,因此也應該在那里工作)。

  Type: AWS::Amplify::App
  Properties:
    Name: MyApp
    Repository: https://bitbucket.org/USERNAME/REPO_NAME
    OauthToken: ACCESS_TOKEN # token returned from terminal command

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM