Octopus Deploy 如何在 GitHub 上创建新发布时触发新发布

58次阅读
没有评论

问题描述

有一个在 GitHub 上的项目,他想要在 GitHub 上创建新发布时触发 Octopus Deploy 的新发布。他注意到 Octopus Deploy 提供了针对机器变更或定时任务的触发器,但似乎没有针对 GitHub 上新发布的专门触发器。用户想知道是否需要在 GitHub 上进行配置以提供源,或者 Octopus 是否能够检测 GitHub 上的新发布并触发相应的新发布操作。

解决方案

请注意以下操作可能涉及版本差异及风险,建议在操作前进行详细了解。

方案1:配置 GitHub 到 Octopus 的推送机制

你可以将 Octopus Deploy 配置为 GitHub 的推送目标,使得在 GitHub 上创建新发布时,触发 Octopus 的新发布操作。以下是一些步骤来实现这一目标:

  1. 首先,确保你的项目已经在 GitHub 上创建,并且有与之对应的 Octopus 项目。

  2. 在 GitHub 项目中,你可以使用 GitHub Actions 来实现在新发布时触发 Octopus 发布。具体步骤如下:

  3. 创建一个 GitHub Actions Workflow 文件(例如,.github/workflows/release.yml)。
  4. 在 Workflow 文件中,配置触发条件,使得在创建新发布时运行 Workflow。
  5. 在 Workflow 步骤中,使用 Octopus CLI 或 Octopus GitHub Action 来触发 Octopus 新发布操作。

示例 Workflow 文件(.github/workflows/release.yml):

name: Trigger Octopus Release
on:
  release:
    types:
      - created

jobs:
  trigger-octopus-release:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout code
      uses: actions/checkout@v2

    - name: Trigger Octopus Release
      uses: octopusdeploy/create-release-action@v1
      with:
        serverUrl: ${{ secrets.OCTOPUS_SERVER_URL }}
        apiKey: ${{ secrets.OCTOPUS_API_KEY }}
        projectId: your-octopus-project-id
        version: ${{ github.event.release.tag_name }}
  1. 在上述示例中,替换 ${{ secrets.OCTOPUS_SERVER_URL }}${{ secrets.OCTOPUS_API_KEY }} 分别为你的 Octopus 服务器 URL 和 API 密钥。同时,将 your-octopus-project-id 替换为你的 Octopus 项目的 ID。

方案2:从 GitHub Feed 拉取 Octopus 发布

另一种方法是在 GitHub 上设置一个 Feed,然后让 Octopus 从该 Feed 拉取新发布。以下是一些步骤来实现这一目标:

  1. 在 GitHub 项目中,你可以设置一个 Feed,将新发布信息发布到这个 Feed。

  2. 在 Octopus 中,配置一个 GitHub Feed 来拉取新发布。具体步骤如下:

  3. 在 Octopus 项目中,转到“库”(Library)页面。
  4. 点击“添加库”(Add Feed),选择 GitHub Feed。
  5. 配置 GitHub Feed 的详细信息,包括 Feed URL、认证方式等。
  6. 在发布时,Octopus 将会从 GitHub Feed 拉取新发布信息并触发发布。

请确保在操作前详细阅读 Octopus 和 GitHub 的官方文档,以确保你理解每个步骤的具体操作和配置要求。

结论

通过配置 GitHub 到 Octopus 的推送机制或设置 GitHub Feed 来拉取 Octopus 发布,你可以实现在 GitHub 上创建新发布时触发 Octopus 的新发布操作。根据你的项目需求和偏好,选择适合的解决方案进行配置和操作。

正文完