Release Engineering and Release Principles Flashcards

1
Q

What are the 3 steps of the release cycle

A
  1. intergration
  2. Build
  3. Deployment.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is a build system?

A

Describes how a source code is translated into a deliverable. It basically a makefile, whihc is considered a recipe to build the program with different files

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

The two steps of a makefile

A
  1. Expressing dependencies
  2. writing recipes
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is -c and : in a makefile

A

-c is compile or assemble the source files, but not linking
: is a dependency

program : random.o input.o main.o

<tab>gcc -o program random.o input.o main.o
random.o : random.c
<tab>gcc -c random.c
input.o : input.c
<tab>gcc -c input.c
main.o : main.c
<tab>gcc -c main.c
</tab></tab></tab></tab>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are release engineers

A

Release engineers are concerned with micro (individual) and macro (organizational) aspects of build systems

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is a micro build and macro-build

A

Micro-build: Concerns about the behaviour of a build system within a single execution

Macro-build: Concerns about how to best provision a fleet of build resources

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Static analysis in build systems

A

Static analysis and builds:
Static analysis can be triggered with the build command (e.g., Google’s ErrorProne)

Scan the source code or byte code for common bugs like resource leaks and dead code

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is a nightly build

A

Builds are often on a schedule:
Typically, developers work during a day, committing their changes that fix bugs and add new features

At night time, while developers are sleeping, a build is executed to produce deliverables with the day’s changes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Why do build systems need maintenance

A

As source code changes, occasionally the build system will need to be updated

Neglected build maintenance makes the build produce incorrect results
Build thinks it’s finished when it hasn’t!
Best case: broken builds
Worst case: weird bugs in the field!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly