【问题标题】:How to Continuously Integrate a Powershell script如何持续集成 Powershell 脚本
【发布时间】:2016-10-25 10:36:22
【问题描述】:

我编写了一个脚本,它构建了一个开发团队将使用的各种 IIS 站点,理想情况下,当一个新的开发人员上线时,他们会检查我们的 get repo 然后运行脚本来构建他们的 IIS。从长远来看,此脚本还将在环境设置中执行各种其他任务。 我现在需要做的是确保脚本持续集成,因此我如何设置测试环境以确保脚本在每次 git 提交后仍然有效。即步骤如下 - 进行了新的提交 - 启动新的虚拟机 - 在虚拟机上执行脚本 - 断言脚本正确执行

【问题讨论】:

  • 为了清楚起见,我不是在寻找一种将文件置于源代码控制中的方法,而是一种我可以测试脚本对每个新提交的作用的方法。即这是一个 IIS 脚本,如果有人更改了会导致部分脚本失败的文件夹目录,所以我希望将其实现到我的构建中

标签: powershell testing scripting continuous-integration psake


【解决方案1】:

你可以从以下开始:

  • 确保该脚本在源代码管理中。这样,脚本始终与您的代码版本匹配
  • 您可能正在使用 TFS?如果那是正确的,您可以在签入一些代码后使用TFS Release management 为您自动执行此过程。如果您不使用 TFS,Octopus Deploy 可能是一个不错的选择

【讨论】:

    【解决方案2】:

    我建议使用包含以下内容的 CI 环境:

    1. 源代码控制和审查系统
    2. 使用 phabricator、github 或 gitlab 等系统在 repo 中进行代码审查
    3. 使用像 jenkins 这样的构建服务器跟踪您的更改
    4. 使用构建服务器触发您的 psake 和 Pester 测试。
    5. 最后将您的构建发布到最终目的地。

    【讨论】:

    • 直到现在我还没有听说过纠缠,所以感谢您的提醒。这似乎填补了我正在寻找的测试中的部分空白。另外,我需要在虚拟机上的全新 IIS 安装上模拟运行脚本。我想我可以使用 azure powershell 来启动虚拟机来执行此操作
    【解决方案3】:

    我建议使用 jenkins https://jenkins.io/ 作为持续集成。您可以在检测到提交后触发构建。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-22
      • 1970-01-01
      相关资源
      最近更新 更多