7

I'm coming from Ops and I don't have a heavy software engineering background. In Jenkins, what is a "build" exactly and why is it named such? When I build a shell/powershell script, I'm not really compiling anything, am I? Then why is Jenkins "building" the source code. I thought building from source to binary is for compiled languages, unless Jenkis is using the word "build" in a more generic manner.

Please help me understand what's going on objectively.

Dan Cornilescu
  • 6,780
  • 2
  • 21
  • 45
user1330287
  • 171
  • 1
  • 3

3 Answers3

11

As you guessed, build not necessarily means "compile". Building is a process of creating software from sources, which might include stuff like gathering dependencies, compiling, archiving, transforming code in any way, but also testing, deploying to different environments and promoting the artifacts between them.

JBaruch
  • 383
  • 1
  • 11
0

It is important to understand the terms Job and Build from the jenkins standpoint.

In Jenkins, a user creates job(s) which is typically a configuration for running autonomous tasks. A job could be a task for building/packaging software, creating artifacts, deploying artifacts, creating help files, etc. This configuration may change from time to time.

Every time you run a job, Jenkins compiles the job configuration inside the project workspace to perform the defined steps. Each run of this job is called as a build and each step is called a build step. Since the environment around the job may change from build to build, any build may Fail(or become Unstable) during a run. Thus, the term - Build.

KatariaA
  • 283
  • 1
  • 4
0

Well, there is a bit of a mixed terminology here and term transfer. Jenkins is using the word Job to mean automation task and Build to mean single execution of the automation task at the current state of system and possibly some variables as input. Traditionally a Build is a substitute term used for any process that produces Derived Objects (see my answer here) and this mixing of terms leads often to confusion in the entire CI/CD process that I've tried to explain here.

Jiri Klouda
  • 5,867
  • 1
  • 22
  • 54