Jenkins中的”构建”是什么意思

160次阅读
没有评论

问题描述

来自运维领域,对软件工程没有很深的背景。在Jenkins中,”构建”到底是什么意思,为什么要这样命名?当我构建一个shell/powershell脚本时,我并没有真正编译任何东西,对吗?那么为什么Jenkins要”构建”源代码呢?我以为从源代码到二进制的构建是针对编译语言的,除非Jenkins在更通用的意义上使用”构建”这个词。
请帮助我客观地理解正在发生的事情。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

正如你猜测的那样,”构建”并不一定意味着”编译”。”构建”是从源代码创建软件的过程,可能包括收集依赖项、编译、归档、转换代码的任何方式,还包括测试、部署到不同的环境以及在它们之间推广构件。

方案2

在Jenkins中,有两个重要的术语需要理解,即”Job”和”Build”。
在Jenkins中,用户创建的”Job”通常是运行自主任务的配置。一个”Job”可以是构建/打包软件、创建构件、部署构件、创建帮助文件等任务。这个配置可能会不断变化。
每次运行一个”Job”时,Jenkins会在项目工作区内编译”Job”配置,以执行定义的步骤。每次运行这个”Job”被称为一个”Build”,每个步骤被称为一个”Build step”。由于”Job”周围的环境可能会从构建到构建发生变化,任何构建都可能在运行过程中失败(或变得不稳定)。因此,使用了术语”Build”。

方案3

在这里有一些术语的混合和转换。Jenkins使用”Job”一词来表示自动化任务,使用”Build”一词来表示在当前系统状态下执行自动化任务的单个执行,可能还包括一些变量作为输入。传统上,”Build”是用于任何生成”派生对象”的过程的替代术语,这种术语的混合经常导致整个CI/CD过程中的混淆。

正文完