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