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

如何让Jenkins从一个GIT存储库构建AngularJS应用程序,并从单独的存储库执行测试,angularjs,jenkins,continuous-integration,jenkins-pipeline,Angularjs,Jenkins,Continuous Integration,Jenkins Pipeline,我正在尝试为我们的测试项目实现Jenkins。我的预期工作流程如下: Jenkins将在开发人员将代码推送到GIT Repo(NPM start)中的应用程序时构建应用程序(AngularJS) Jenkins将启动应用程序(/>ng serve)--这将在localhost:4200启动服务器 Jenkins将切换到测试脚本存储库 詹金斯将开始执行测试 一旦执行测试,Jenkins将关闭服务器 我的问题是: a。当Jenkins在步骤2的末尾构建时。它正在创建一个将继续运行的服务器实例。在这种

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

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

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

  • 詹金斯将开始执行测试
  • 一旦执行测试,Jenkins将关闭服务器
  • 我的问题是:

    a。当Jenkins在步骤2的末尾构建时。它正在创建一个将继续运行的服务器实例。在这种情况下,命令窗口专用于服务器,它不接受任何命令。那么我怎样才能让jenkins移动到测试目录并开始测试应用程序呢

    b。在流程结束时,如何通过Jenkins停止服务器而不手动键入“Ctl+C”

    分离您的构建。 一条管道由主回购协议修建。 第二个管道是从测试repo获取数据并运行测试。 第一管道

    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
        } 
     }
    
    您可以检查是否正在运行构建步骤,以分离构建。 一条管道由主回购协议修建。 第二个管道是从测试repo获取数据并运行测试。 第一管道

    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
        } 
     }
    

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

    您的设置太疯狂了。通常,你希望你的测试在你的应用程序中使用相同的repo,并用命令启动它们,而不必构建和服务应用程序。你的设置太疯狂了。通常,您希望您的测试在应用程序中与repo相同,并使用命令启动它们,而不必构建和服务应用程序