【发布时间】:2021-09-04 04:19:03
【问题描述】:
我正在尝试在给定的 docker 容器中构建包。我有以下action.yaml 文件:
name: Build Package
description: Build Debian packages using Docker image
inputs:
docker_image:
description: Name of the docker image to use
required: true
runs:
using: 'composite'
steps:
- name: Check out the repository
uses: actions/checkout@v2
- name: Build `*.deb` packages
uses: 'docker://${{inputs.docker_image}}'
with:
entrypoint: ./build.sh
在另一个存储库中我正在尝试使用它:
...
steps:
- uses: CMakeify-me/build-package-action@v1-beta
with:
docker_image: 'cmakeifyme/debian-9-deb-build:1.3'
很遗憾,我遇到了错误:
Error: CMakeify-me/build-package-action/v1-beta/action.yaml (Line: 19, Col: 13):
Error: CMakeify-me/build-package-action/v1-beta/action.yaml (Line: 19, Col: 13): Unrecognized named-value: 'inputs'. Located at position 1 within expression: inputs.docker_image
Error: GitHub.DistributedTask.ObjectTemplating.TemplateValidationException: The template is not valid. CMakeify-me/build-package-action/v1-beta/action.yaml (Line: 19, Col: 13): Unrecognized named-value: 'inputs'. Located at position 1 within expression: inputs.docker_image
at GitHub.DistributedTask.ObjectTemplating.TemplateValidationErrors.Check()
at GitHub.Runner.Worker.ActionManifestManager.ConvertRuns(IExecutionContext executionContext, TemplateContext templateContext, TemplateToken inputsToken, String fileRelativePath, MappingToken outputs)
at GitHub.Runner.Worker.ActionManifestManager.Load(IExecutionContext executionContext, String manifestFile)
Error: Fail to load CMakeify-me/build-package-action/v1-beta/action.yaml
尝试仅打印 inputs 工作正常:
- name: Spam
run: echo '${{ inputs.docker_image }}'
shell: bash
意思是inputs.docker_image在uses:的值内使用时会出现问题;-(
如何传递要在我的操作中使用的 docker 映像名称?
谢谢。
【问题讨论】:
-
第二个仓库没有定义
inputs.docker_image,对吧?这可能是它失败的原因? -
第二个 repo 尝试使用该操作并提供
with.docker_image- 如果我理解正确,这是将参数传递给操作的方式... -
是的,你是对的。
标签: docker github-actions