通过GitHub Actions动态创建Octopus Deploy发布时遇格式错误求助
问题:GitHub Actions调用Octopus Deploy创建发布时packages参数格式错误
问题场景
尝试通过GitHub Actions动态创建Octopus Deploy发布,执行时触发格式错误,相关代码和错误日志如下:
Action代码
- name: Create a release in Octopus Deploy uses: OctopusDeploy/create-release-action@v2 env: OCTOPUS_API_KEY: ${{ inputs.OCTOPUS_APIKEY }} OCTOPUS_HOST: "https://octopusdev.fidev.com/" with: project: ${{ github.event.repository.name }} packages: {Deployartifact}:{${{ steps.deploy_setup.outputs.JFROG_VERSION }}}
错误日志
Run OctopusDeploy/install-octopus-cli-action@v1 Latest version available: 9.1.7 ✓ Octopus CLI version found: 9.1.7 ⬇️ Downloading Octopus CLI 9.1.7... 📦 Extracting Octopus CLI 9.1.7... C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoLogo -Sta -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command "$ErrorActionPreference = 'Stop' ; try { Add-Type -AssemblyName System.IO.Compression.FileSystem } catch { } ; if ((Get-Command -Name Expand-Archive -Module Microsoft.PowerShell.Archive -ErrorAction Ignore)) { Expand-Archive -LiteralPath 'E:\actions-runner\workspace\_temp\2712f7bc-357a-4509-93d3-2318c71651bd.zip' -DestinationPath 'E:\actions-runner\workspace\_temp\86a0af86-765f-4e8f-9e13-9a642c6bd7f2' -Force } else {[System.IO.Compression.ZipFile]::ExtractToDirectory('E:\actions-runner\workspace\_temp\2712f7bc-357a-4509-93d3-2318c71651bd.zip', 'E:\actions-runner\workspace\_temp\86a0af86-765f-4e8f-9e13-9a642c6bd7f2', $true) }" 🐙 Octopus CLI 9.1.7 installed successfully Run OctopusDeploy/create-release-action@v2 The package argument 'Deployartifact:' does not use expected format of : {Step Name}:{Version} Exit code: -1 Error: Error: The process 'E:\actions-runner\workspace\_tool\octo\9.1.7\x64\octo.exe' failed with exit code 4294967295
错误原因
packages参数语法错误:
- 错误地用额外大括号包裹步骤名称和版本变量,导致GitHub Actions无法正确解析
steps.deploy_setup.outputs.JFROG_VERSION的值,最终传递给Octopus CLI的参数变成Deployartifact:,缺少版本部分,不符合{Step Name}:{Version}的格式要求。
解决方案
修正packages参数写法,去掉多余大括号,直接使用步骤名称:版本的正确格式:
- name: Create a release in Octopus Deploy uses: OctopusDeploy/create-release-action@v2 env: OCTOPUS_API_KEY: ${{ inputs.OCTOPUS_APIKEY }} OCTOPUS_HOST: "https://octopusdev.fidev.com/" with: project: ${{ github.event.repository.name }} packages: Deployartifact:${{ steps.deploy_setup.outputs.JFROG_VERSION }}
若需指定多个包,用逗号分隔即可,示例:
packages: Step1:1.0.0,Step2:${{ steps.deploy_setup.outputs.JFROG_VERSION }}
内容的提问来源于stack exchange,提问作者wehelpdox
相关产品推荐
相关产品推荐

