[英]Google Cloud Builder - how to trigger build configuration in a subdirectory?
我正在嘗試建立一個 Google Cloud Builder 構建觸發器來自動構建我的ASP .NET Core 應用程序並將其部署到 Google AppEngine。
使用當前的cloudbuild.yaml :
steps:
- name: 'gcr.io/cloud-builders/dotnet'
args: [ 'publish', '-c', 'Release' ]
- name: 'gcr.io/cloud-builders/gcloud'
args: ['app','deploy','./bin/Release/netcoreapp2.1/publish/app.yaml']
我已經使用cloud-build-local
工具測試了本地構建工作。
這兩種方法在本地有效:
cloud-build-local --config=cloudbuild.yaml --dryrun=false.
cloud-build-local --config=clearbooks-rest-as.netcore/cloudbuild.yaml --dryrun=false clearbooks-rest-as.netcore
Build Trigger 定義似乎部分支持存儲庫根目錄的子目錄中的配置文件(方法 2),但它似乎假設代碼始終位於存儲庫根目錄中。
如何配置 Cloud Builder 以在存儲庫的子目錄中開始構建?
解決方案是更新cloudbuild.yaml
:
dir:
選項 app.yaml
位置以進行部署步驟 這是工作中的cloudbuild.yaml:
steps:
- name: 'gcr.io/cloud-builders/dotnet'
args: [ 'publish', '-c', 'Release' ]
dir: 'clearbooks-rest-aspnetcore'
- name: 'gcr.io/cloud-builders/gcloud'
args: ['app','deploy','clearbooks-rest-aspnetcore/bin/Release/netcoreapp2.1/publish/app.yaml']
在本地測試時,請在存儲庫根目錄上運行cloud-build-local
,而不要在app子目錄上運行:
cloud-build-local --config=clearbooks-rest-aspnetcore/cloudbuild.yaml --dryrun=false .
這反映了雲構建的工作方式:
我正在開發一個帶有 Spring Boot with App Engine 的示例項目,目錄結構就像這樣。
google-cloud
- appengine-spring-boot
- appflexengine-spring-boot
下面是為我工作的cloudbuild.yaml文件。
steps:
- name: 'gcr.io/cloud-builders/mvn'
dir: "appengine-spring-boot"
#args: [ 'package','-f','pom.xml','-Dmaven.test.skip=true' ]
args: [ 'clean', 'package']
- name: "gcr.io/cloud-builders/gcloud"
dir: "appengine-spring-boot"
args: [ "app", "deploy" ]
timeout: "1600s"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.