Jenkins制品管理(上)

2021-06-02 17:52:12 浏览数 (1)

一.简介

制品是软件开发过程中产生的多种有形副产品之一。广义的制品还包括用例、UML图、设计文档等。而狭义的制品就可以简单地理解为二进制包。虽然有些代码是不需要编译就可以执行的,但是我们还是习惯于将这些可执行文件的集合称为二进制包。本章讨论的是狭义的制品。行业内有时也将制品称为产出物或工件。

最简单的制品管理仓库就是将制品统—放在一个系统目录结构下。但是很少有人这样做,更多的做法是使用现成的制品库。

制品管理涉及两件事情:一是如何将制品放到制品库中;二是如何从制品库中取出制品。由于每种制品的使用方式不一样,因此下面我们分别进行介绍。

二.Jenkins管理制品

从手工打包到自动化打包,再将打好的包放到制品库中。这看似简单,但是要在团队中从无到有地落地其实是一个很漫长的过程,特别是对于存在很多遗留项目的团队。每个团队都应该按照自己当前情况进行调整,有时统一的解决方案不一定适合你。

曾经,笔者所在团队已经将部分项目的编译和单元测试放到Jenkins上执行,然而并没有人力及能力搭建Nexus。但是又期望能将自动打包好的JAR包放到各个环境中使用,以马上从持续集成中获益,怎么办?

这时,archiveArtifacts步骤就派上用场了。它能对制品进行归档,然后你就可以从Jenkins页面上下载制品了。

完成的pipeline如下:

  1. pipeline {
  2. agent any
  3. tools {
  4. maven 'mvn-3.5.4'
  5. }
  6. stages {
  7. stage('Build') {
  8. steps {
  9. sh "mvn clean spring-boot: repackage"
  10. }
  11. }
  12. }
  13. post {
  14. always{
  15. archiveArtifacts artifacts: 'target/**/*.jar', fingerprint: true
  16. }
  17. }
  18. }

常用参数:

  • artifacts(必填):字符串类型,需要归档的文件路径,使用Ant风格路径表达式
  • fingerpring(可选):布尔类型,是否对归档的文件进行签名
  • excludes(可选):字符串类型,需要排出的文件路径,使用Ant风格路径表达式
  • caseSensitive(可选):布尔类型,对路径大小写是否敏感
  • onlylfSuccessful(可选):布尔类型,只在构建成功时进行归档
  • 这个步骤并不只用于归档jar包,事实上,它能归档所有类型的制品

0 人点赞