繁体   English   中英

将脚本或命令与 Skaffold 开发部署一起运行到 Kubernetes 集群

[英]Add a script or a command to run with Skaffold dev deployment to a Kubernetes cluster

我想在运行skaffold dev之前运行一个命令来从远程存储库克隆脚本我需要以某种方式注入git clone命令或将 git clone 命令和相应的参数放在 shell 脚本中,然后使用 Skaffold 运行 shell 脚本.

从 Skaffold 工作流的角度来看,这一步应该在构建之前运行。 我在构建阶段使用 Jib,看起来 Jib 状态没有给我任何在实际构建之前运行脚本的能力。 我不知道我是否可以像pre-build一样为 Skaffold 生命周期添加一个新阶段。 我想到的一个解决方案是使用custom构建而不是Jib ,并将所有预构建命令以及与 jib 相关的命令放在一个脚本中运行。 这种方法可能有效,但不会很方便。 我想知道是否有更好的方法来使用 Skaffold 做到这一点。

build:
  artifacts:
    - image: gcr.io/k8s-skaffold/example
      custom:
        buildCommand: ./prebuild-and-build.sh

skaffold 支持生命周期钩子,允许在构建之前/之后运行自定义脚本 - https://skaffold.dev/docs/pipeline-stages/lifecycle-hooks/

有了这个,你应该能够在你的 skaffold.yaml 中添加一个类似于这样的节:

build:
  artifacts:
  - image: gcr.io/k8s-skaffold/example
    hooks:
      before:
        - command: ["sh", "-c", "./prebuild-and-build.sh"]
          os: [darwin, linux]
        # - command: # ...TODO
        #   os: [windows]

注意:此功能相对较新,请务必使用最新的 skaffold 版本(撰写本文时为 v1.33.0)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM