簡體   English   中英

Maven在Google App Engine上自動部署

[英]Maven automated deploy on google app engine

我知道要部署到應用程序引擎上,您可以運行maven命令:

mvn appengine:update

然后,它會提示您輸入身份驗證代碼,並啟動瀏覽器以確認您要發布到應用程序引擎上。 我希望將其完全自動化,以便可以從maven作為命令運行。 我有appengine-maven-plugin設置,但似乎沒有任何功能可以跳過手動步驟。

有沒有人設法解決這個問題? 我知道您可以直接從Jenkins進行部署,但是我們正在尋找一種解決方案,如果我們的Jenkins服務器停機,該解決方案可以自動執行

謝謝

將您重定向到瀏覽器以進行登錄和同意的身份驗證流程稱為三足式Oauth,因為它涉及三個步驟:1)請求令牌2)登錄和同意3)使用令牌進行API調用。

不涉及用戶登錄和同意的身份驗證流稱為兩足Oauth(服務器到服務器):1)請求令牌,並用私鑰簽名2)使用令牌的API調用。 服務器到服務器的身份驗證要求您設置具有適當權限(范圍)的服務帳戶。 您還必須安全地分發該服務帳戶的私鑰,以便您可以簽署請求。 請參閱OAuth2ServiceAccount說明

實際上,Bitnami Jenkins圖像為您提供了很多便利。 設置即按即部署時 ,將使用gcloud啟動實例。 該啟動命令使用--scopes參數(包括"https://www.googleapis.com/auth/appengine.admin"指定了您希望圖像也可以訪問的范圍。 這些作用域的權限授予默認的項目服務帳戶。 Jenkins部署您的代碼時,可以通過Jenkins Google Oauth插件使用服務帳戶憑據。

您可以構建另一個將以編程方式推送代碼的工具。 您將需要創建一個生成JSON Web令牌(JWT)的服務帳戶。再次請參見Outh2ServiceAccount說明。 JWT是您的私人證書,您需要找到一個安全的位置進行存儲。 App Engine SDK知道如何使用JWT獲取身份驗證令牌。

在運行時,您可以將路徑傳遞為JWT文件,作為--app_cfg.py的--service_account_json_key_file參數。 要通過Maven插件查看該參數,您必須使用-DadditionalParams =“-service_account_json_key_file”(位於github.com/GoogleCloudPlatform/appengine-maven-plugin/master上)。 (將在App Engine 1.9.27版中使用,但您可以在此之前從Github中拉出。)

暫無
暫無

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

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