在八达通服务器上拉取但不部署 nuget 包
Pulling but not deploying nuget packages on Octopus Server
我正在通过 Teamcity 将一些 mongo 脚本连同必要的二进制文件打包 运行 到 Nuget 包中。现在我想用 Octopus 做的是拉那个包,提取内容和 运行 每个部署一次的脚本。我不希望或不需要将它们部署到任何机器上,因为这些脚本不是特定于目标机器的。我在想通过 powershell 我可以
- 下载包(具体版本可查询feed)
- 提取它
- 运行 脚本
- 清理
有人遇到过类似的问题吗?
解决方案是在 Octopus 服务器上安装一个 Tentacle,将其分配给所有环境,按照 octopus-server
的方式为其赋予独特的角色,然后配置一个脚本步骤以使用 octopus-server
角色作为你的目标。然后,您可以在该脚本步骤中编写 PowerShell、C# 或 Bash 脚本,该脚本将调用并执行您存储在项目中的 mongo 脚本。这样,它只会在您的八达通服务器上 运行。我最近做了一些类似于 运行 MySQL 脚本的事情。
OctopusDeploy 文档提供了一个很好的演练 here 并解释了为什么他们选择以这种方式处理它。
我正在通过 Teamcity 将一些 mongo 脚本连同必要的二进制文件打包 运行 到 Nuget 包中。现在我想用 Octopus 做的是拉那个包,提取内容和 运行 每个部署一次的脚本。我不希望或不需要将它们部署到任何机器上,因为这些脚本不是特定于目标机器的。我在想通过 powershell 我可以
- 下载包(具体版本可查询feed)
- 提取它
- 运行 脚本
- 清理
有人遇到过类似的问题吗?
解决方案是在 Octopus 服务器上安装一个 Tentacle,将其分配给所有环境,按照 octopus-server
的方式为其赋予独特的角色,然后配置一个脚本步骤以使用 octopus-server
角色作为你的目标。然后,您可以在该脚本步骤中编写 PowerShell、C# 或 Bash 脚本,该脚本将调用并执行您存储在项目中的 mongo 脚本。这样,它只会在您的八达通服务器上 运行。我最近做了一些类似于 运行 MySQL 脚本的事情。
OctopusDeploy 文档提供了一个很好的演练 here 并解释了为什么他们选择以这种方式处理它。