使用GitHub Actions在Octopus Deploy创建Release失败求助
背景与配置
尝试通过GitHub Actions调用新版Octopus CLI在Octopus Deploy中创建发布版本,手动在Octopus UI选择Feature渠道、版本号1.0.675-feature-27ddcf53143创建发布可成功,但CI执行时报错。
环境变量配置
env: OCTOPUS_CHANNEL: 'Feature' OCTOPUS_URL: ${{ secrets.OCTOPUS_SERVER }} OCTOPUS_API_KEY: ${{ secrets.OCTOPUS_API_KEY }} OCTOPUS_SPACE: 'SPACE-NAME-HERE' OCTOPUS_PROJECT: 'PROJECT-NAME-HERE'
完整GitHub Actions工作流
name: CI on: [push, workflow_dispatch] concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: CI: runs-on: [self-hosted, linux, small] env: OCTOPUS_CHANNEL: 'Feature' OCTOPUS_URL: ${{ secrets.OCTOPUS_SERVER }} OCTOPUS_API_KEY: ${{ secrets.OCTOPUS_API_KEY }} OCTOPUS_SPACE: 'SPACE-NAME-HERE' OCTOPUS_PROJECT: 'PROJECT-NAME-HERE' steps: - name: Install Octopus CLI 🐙 uses: OctopusDeploy/install-octopus-cli-action@v3.0.0 with: version: '*' - name: Deploy 🐙 run: | octopus release list --project ${{ env.OCTOPUS_PROJECT }} octopus release create --project ${{ env.OCTOPUS_PROJECT }} --channel ${{ env.OCTOPUS_CHANNEL }} --release-notes 'Release'
错误信息
执行时返回如下错误:
Octopus API error: The resource you requested was not found. []
Error: Process completed with exit code 1.
注:octopus release list命令可正常运行,已确认OCTOPUS_SERVER和OCTOPUS_API_KEY密钥有效。
排查与解决建议
补充包版本参数
手动创建时指定了具体包版本,但CI中的octopus release create命令未添加--package-version参数。若项目未配置自动选择包版本的规则,CLI无法找到对应资源。需添加参数:octopus release create --project ${{ env.OCTOPUS_PROJECT }} --channel ${{ env.OCTOPUS_CHANNEL }} --release-notes 'Release' --package-version '1.0.675-feature-27ddcf53143'验证渠道参数的准确性
Octopus CLI的--channel参数需严格匹配渠道的名称或ID,若存在大小写差异、名称含特殊字符,可能导致解析失败。建议改用渠道ID(从Octopus UI渠道详情页的URL中获取,格式类似Channel-XXX)替换OCTOPUS_CHANNEL的值。检查空间参数的正确性
若OCTOPUS_SPACE使用的是空间名称,且名称包含特殊字符,可能导致CLI无法定位空间。建议改用空间ID(从Octopus UI空间设置页面获取)。核对CLI与服务器版本兼容性
虽然安装了最新版CLI,但可能与Octopus Deploy服务器版本不兼容。查看服务器版本,安装与之匹配的CLI版本(例如服务器为2023.x系列,CLI也选择对应大版本)。
内容的提问来源于stack exchange,提问作者Hos

