如何让Jenkins从一个GIT存储库构建AngularJS应用并从单独的存储库执行测试

时间:2019-02-13 16:37:50

标签: angularjs jenkins continuous-integration jenkins-pipeline

我正在尝试为我们的测试项目实施Jenkins。我期望的工作流程如下:

  1. 当开发人员在GIT Repo(NPM开始)中将代码推送到应用程序时,Jenkins将构建应用程序(AngularJS)
  2. Jenkins将启动应用程序(/> ng serve)-这将在localhost:4200启动服务器

  3. Jenkins将切换到测试脚本存储库

  4. Jenkins将开始执行测试
  5. 执行测试后,Jenkins将关闭服务器

我的问题是:

a。当Jenkins在第2步结束时构建时。它正在创建将继续运行的服务器实例。在这种情况下,命令窗口专用于服务器,并且不接受任何命令。那么,如何让詹金斯移动到测试目录并开始测试应用程序?

b。在该过程的最后,如何通过Jenkins停止服务器而无需手动键入“ Ctl + C”?

1 个答案:

答案 0 :(得分:0)

分离构建。 从主存储库构建一条管道。 第二个管道是从测试存储库中获取并运行测试。 第一条管道

node("main") {
   stage("build") {
      git url: "https://github.com/your project repo",  credentialsId: "[credentials if need or avoid this param]", branch: "branch name"
       rest of steps
   }

   stage("Test") {
      build job:"TestJob", wait: true
   }
}

和TestJob作业代码:

node("main") {
   stage("build") {
      git url: "https://github.com/your test repo",  credentialsId: "[credentials if need or avoid this param]", branch: "branch name"
       rest steps to test app
    } 
 }

您可以检查documentation是否在运行构建步骤