1

ゴール:

Cloud Build 構成を使用して、アプリ エンジンにデプロイできるアーティファクトにアプリをビルドします。

機能しない解決策:

これはcloudbuild.yaml次のとおりです。

steps:
- name: 'gcr.io/cloud-builders/go'
  args: ['get']
  env: ['PROJECT_ROOT=project-name']
- name: 'gcr.io/cloud-builders/go'
  args: ['build', '.']
  env: ['PROJECT_ROOT=project-name']
- name: 'gcr.io/cloud-builders/gcloud'
  args: ['app', 'deploy']
timeout: '1600s'

artifacts:
  objects:
    location: 'gs://project-artifacts/'
    paths: ['project-name']

App Engine 構成app.yaml:

runtime: go
api_version: go1

handlers:
- url: /.*
  script: _go_app

最後にmain.go: https://github.com/GoogleCloudPlatform/golang-samples/blob/master/appengine/helloworld/hello.go

デプロイ手順が非常に単純になり、前の 2 つの手順さえ必要ないことは理解しています。ヘルプを参照したところ、ステップが外部アーティファクトを受け入れることができるcloud appかどうかを確認できませんでした。deploy

デプロイ手順は次のエラーで失敗します。

failed analyzing /workspace: cannot find package "google.golang.org/appengine" in any of:
    ($GOROOT not set)
    /builder/home/go/src/google.golang.org/appengine (from $GOPATH)
GOPATH: /builder/home/go

私は2つの解決策を探しています:

  1. 理想的には、アーティファクトをproject-artifactsバケットにビルドし、デプロイ ステップを使用してそれらをデプロイできること
  2. gcloud components install app-engine-goそれが不可能な場合は、依存関係の欠落で失敗しないように、デプロイ コンテナー内で実行する方法を知る必要があります。
4

1 に答える 1