我有一个需要在alpina:helmimage 上运行的 packge 脚本。我以前用过这个,但由于某种原因,这总是给我错误 -Error: unknown command "sh" for "helm"
package:
<<: *artifacts
stage: package
image: alpine/helm
variables:
GIT_STRATEGY: none
script:
- echo $VERSION
- helm package ./keycloak --app-version=$VERSION
artifacts:
paths:
- "*.tgz"
Run Code Online (Sandbox Code Playgroud)
谁能告诉我这里的问题是什么,我不太确定。Helm 命令应该按照我的假设运行,但不确定为什么不运行。
dan*_*elz 30
正如文档中所解释的,gitlab中的运行程序是这样启动的
image并使用该容器的入口点before_script,script和after_script合并到一个脚本中如果您查看alpine/helm图像的入口点,您会发现该入口点是helm,并且当容器启动时,它会运行 helm。gitlab 运行程序不需要入口点,或者入口点设置为启动 shell,因此您会得到 ,Error: unknown command "sh" for "helm"因为没有正在运行的 shell。
通过覆盖入口点,我们确保运行程序在容器中找到可以执行脚本的 shell。
package:
stage: package
image:
name: alpine/helm
entrypoint: [""]
variables:
GIT_STRATEGY: none
script:
- echo $VERSION
- helm package ./keycloak --app-version=$VERSION
artifacts:
paths:
- "*.tgz"
Run Code Online (Sandbox Code Playgroud)
编辑:通过再次阅读文档,我将 docker 17.06 及更高版本的入口点更改为空入口点 ( entrypoint: [""]),因为这更简洁。
| 归档时间: |
|
| 查看次数: |
4822 次 |
| 最近记录: |