我有一位詹金斯大师在一个容器里跑..。我将使用Docker作为Jenkins (构建代理),在separete 上使用来装载构建,以运行我的CI管道。此Docker容器(生成代理)将在CI管道运行时创建;构建完成后,Docker容器将被销毁。为实现这一目标:
node('docker') {
stage('Checkout Code') {
checkout scm }
stage('Build') {
withMaven {
sh 'mvn clean install' }
}
}
当我运行我的peline时,每件事都是正确的:
但问题在于构建结果(.war)
这些档案是被转移到主工作区,还是与容器一起销毁?如果是第二个案例,那么我如何才能恢复构建结果给jenkins大师,以追求CI过程??
[INFO] Installing /home/jenkins/workspace/Build_pipeline_team/target/Teams.war to /home/jenkins/.m2/repository/teams/Teams/1.0-SNAPSHOT/Teams-1.0-SNAPSHOT.war
[INFO] Installing /home/jenkins/workspace/Build_pipeline_team/pom.xml to /home/jenkins/.m2/repository/teams/Teams/1.0-SNAPSHOT/Teams-1.0-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 02:12 min
[INFO] Finished at: 2017-11-15T03:40:13+00:00
[INFO] Final Memory: 21M/51M
[INFO] ------------------------------------------------------------------------
[jenkins-maven-event-spy] INFO generated /home/jenkins/workspace/Build_pipeline_team@tmp/withMaven673f8d6e/maven-spy-20171115-033800-6375412806014049683204.log
[Pipeline] }
[withMaven] artifactsPublisher - Archive artifact pom.xml under teams/Teams/1.0-SNAPSHOT/Teams-1.0-SNAPSHOT.pom
[withMaven] artifactsPublisher - Archive artifact target/Teams.war under teams/Teams/1.0-SNAPSHOT/Teams-1.0-SNAPSHOT.war
[withMaven] junitPublisher - Archive test results for Maven artifact teams:Teams:1.0-SNAPSHOT generated by maven-surefire-plugin:test (default-test): target/surefire-reports/*.xml
发布于 2017-11-15 14:25:21
当您将舞台封装在一个节点中时,所有的东西都会在该节点上运行。因此,当构建完成时,战争将与容器一起销毁。
你有几种选择来维持战争。
maven的方法是将工件部署到存储库(如nexus )。
另一个詹金斯的选择是在构建完成后将战争藏在奴隶身上,并将其解藏在主人身上。这将有效地将存储的文件从从节点复制回主节点。
https://stackoverflow.com/questions/47309824
复制相似问题