Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot 基于位桶推送Java代码触发器的GCP云构建_Spring Boot_Docker_Google Cloud Platform_Dockerfile_Google Cloud Build - Fatal编程技术网

Spring boot 基于位桶推送Java代码触发器的GCP云构建

Spring boot 基于位桶推送Java代码触发器的GCP云构建,spring-boot,docker,google-cloud-platform,dockerfile,google-cloud-build,Spring Boot,Docker,Google Cloud Platform,Dockerfile,Google Cloud Build,我正在尝试基于Spring Boot java应用程序的触发器构建GCP云。到目前为止,我正在手动操作,将代码导入GCP虚拟机,在那里构建,创建Docker映像,推到GCP容器注册表,并部署到Kubernetes引擎上,工作正常。每次推送代码时,我都需要根据触发器自动构建。 我的私人比特桶上有代码GCP容器注册表可以访问我的Bitbucket存储库。 我的docker文件是 > FROM java:8 WORKDIR / ADD > build/libs/SpringBootAppl

我正在尝试基于Spring Boot java应用程序的触发器构建GCP云。到目前为止,我正在手动操作,将代码导入GCP虚拟机,在那里构建,创建Docker映像,推到GCP容器注册表,并部署到Kubernetes引擎上,工作正常。每次推送代码时,我都需要根据触发器自动构建。 我的私人比特桶上有代码GCP容器注册表可以访问我的Bitbucket存储库。 我的docker文件是

> FROM java:8 WORKDIR / ADD
> build/libs/SpringBootApplication-0.0.1-SNAPSHOT.jar
> SpringBootApplication.jar EXPOSE 8080 ENTRYPOINT
> ["java","-jar","SpringBootApplication.jar"]
但在构建时,它给出的错误是

SpringBootApplication.jar is not available-- no such file or directory. 
我知道这一点,因为在GCP虚拟机上,我还没有克隆和构建代码。 我是否也必须在Dockerfile中编写克隆和生成代码??
如果是,那么使用GCP Cloud Build验证比特桶的意义何在,可能是因为cloudbuild的工作目录最初是
/workspace

这就是为什么找不到该文件,您的
WORKDIR
/

此外,这并不能解决整个CI/CD问题,因为您仍然需要更新集群

与仅使用Dockerfile不同,您需要创建一个cloudbuild.yaml文件,其中包含以下步骤

步骤1,构建docker映像(确保使用缓存使其更快) 第二步,贴上标签 步骤3,推送到注册表 步骤4,更新gke集群