问题描述
我创建了一个terraform脚本,如下所示将Java应用程序引擎部署到GAE flexible:
resource "google_app_engine_flexible_app_version" "test-terraform" {
version_id = "v1"
project = "project-id"
service = "service-terraform"
runtime = "java"
liveness_check {
path = "/"
}
readiness_check {
path = "/"
}
env_variables = {
port = "8080"
}
deployment {
zip {
source_url = "https://storage.googleapis.com/[BUCKET_NAME]/[ZIP_OBJECT_NAME]"
}
cloud_build_options {
app_yaml_path = "[PATH_TO_APP-YAML_FILE]"
}
}
# resoucres config
resources {
cpu = 1
memory_gb = 2
disk_gb = 10
}
# scale config
delete_service_on_destroy = true
}
我试图将PATH_TO_APP-YAML_FILE的值更改为
- app.yaml在存储上的位置
- app.yaml在ZIP源代码上的本地化为“ ./src/main/appengine/app.yaml” 但未成功部署,Cloud Build上的错误详细信息如下所示:
Step #1: WARN - A yaml configuration file was expected,but none was found at the provided path: app.yaml. Proceeding with default configuration values.
Step #1: Exception in thread "main" com.google.cloud.runtimes.builder.exception.ArtifactNotFoundException: No deployable artifacts were found. Unable to proceed.
Step #1: at com.google.cloud.runtimes.builder.buildsteps.PrebuiltRuntimeImageBuildStep.getArtifact(PrebuiltRuntimeImageBuildStep.java:77)
Step #1: at com.google.cloud.runtimes.builder.buildsteps.RuntimeImageBuildStep.run(RuntimeImageBuildStep.java:50)
Step #1: at com.google.cloud.runtimes.builder.BuildPipelineConfigurator.generateDockerResources(BuildPipelineConfigurator.java:104)
Step #1: at com.google.cloud.runtimes.builder.Application.main(Application.java:147) Finished Step #1 ERROR Blockquote
能否请您指出确切的值 PATH_TO_APP-YAML_FILE ? 谢谢!
解决方法
根据Terraform documentation,此值代表:
app_yaml_path
-(必需)部署中使用的yaml文件的路径,用于确定运行时配置详细信息。
但是,尚不清楚它是否与Cloud Storage存储桶中的源代码兼容。根据{{3}}中的建议,我建议在Terraform community page中打开一个问题,以获取对该参数的更具体的了解。