【问题标题】:GCP Cloud Build based on Trigger of Java Code Pushed in Bit Bucket基于比特桶推送Java代码触发的GCP Cloud Build
【发布时间】:2020-05-13 10:02:00
【问题描述】:

我正在尝试 GCP Cloud Build 基于 Spring Boot java ApplicationTrigger 代码推送到 Bit Bucket >。到目前为止,我是手动完成的,将代码处理到 GCP VM 中,在那里构建,创建 Docker Image,推送到 GCP Container Registry在 Kubernetes Engine 上部署 strong> 工作正常。每次推送代码时,我都需要根据触发器自动构建。 我的私人 bitbucket 上有代码。 GCP Container Registry 可以访问我的 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 VM 上我没有克隆和构建代码。 我是否也必须在 Dockerfile 中编写克隆和构建代码? 如果是,那么使用 GCP Cloud BuildBitbucket 进行身份验证有什么意义。

【问题讨论】:

    标签: spring-boot docker google-cloud-platform dockerfile google-cloud-build


    【解决方案1】:

    可能是因为cloudbuild的工作目录最初是/workspace

    https://cloud.google.com/cloud-build/docs/build-config

    所以这就是找不到文件的原因,你的WORKDIR/

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

    您需要创建一个带有步骤的 cloudbuild.yaml 文件,而不是仅使用 Dockerfile

    第一步,构建 docker 镜像(确保使用缓存使其更快) 第2步,标记它 第三步,推送到注册表 第四步,更新gke集群

    【讨论】:

      猜你喜欢
      • 2023-02-21
      • 2021-03-28
      • 2021-12-27
      • 2022-01-06
      • 1970-01-01
      • 2022-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多