Friday, 5 pm, release time
A team has to release by hand. They copy files. They run tests, if they remember. They upload.
Today they forget one file. The app breaks for all users. Everyone goes home late.
A good team does not do this by hand. A machine does it the same way every time.
Key words
| Word | What it means | Example |
|---|---|---|
| Front end | The part the user sees and touches. It runs in the browser or app. | HTML, CSS, JavaScript |
| Back end | The part that runs on a server. It holds the rules and the data. | Python, a database |
| Package | Putting all the files of a product together so it can be installed or run. | |
| Framework | Ready-made code with a standard structure that you build your app inside. | |
| Executable | One file that a computer can run directly. | game.exe |
| Continuous integration | Every change is joined to the main code and checked at once. Short name: CI. | |
| Continuous deployment | A change that passes all checks goes live by itself. Short name: CD. | |
| Pipeline | A line of automatic steps that every change goes through. | |
| Compile | Turn code you write into code the computer can run. | |
| Automation | A machine does the job by itself, the same way every time. | |
| Database | An organised store of data that programs can search and change. | |
| Build | Turning source code into something that can run. | |
| Unit test | A small test of one part of the code. |
The cells students fill in are left blank in this preview.
Many files, one product
A product has a front end and a back end. The front end may be HTML, CSS and a framework (ready-made code).
The back end may be Python and a database.
To give it to users you package it: you put every file in the right place. You can also compile the code and join it into one executable file.
The user does not want ten files and a list of steps. They want one thing that works.
Quick check: packaging
Have a go
Quick check: packaging
3 questionsYour answers are marked here and are not kept. A college account keeps every student’s marks.
Ways to package
| Way | What the user gets | Example |
|---|---|---|
| Web product | A web address. The files sit on a server | HTML, CSS and JavaScript served with a Python back end |
| Compiled executable | One file. The code is compiled and joined into it | A game you install on a PC |
| Installer | A file that puts everything in place | A setup file for a desktop app |
| Container | A box with the program and what it needs | A back end that runs on any server |
The cells students fill in are left blank in this preview.
CI and CD
Continuous integration (CI): every time a developer saves a change, a machine joins it to the main code, builds it and tests it.
Continuous deployment (CD): if all checks pass, the change goes live by itself.
The line of automatic steps is a pipeline. A bad change stops in the pipeline. Users never see it.
What each stage does
| Stage | Job | Example tool |
|---|---|---|
| Source code control | Keeps the code and starts the pipeline on every push | Git, Gitea, GitHub |
| Build automation | Makes the program from the code | GitHub Actions, Jenkins, Maven |
| Unit test automation | Runs every test. Stops if one fails | pytest, JUnit |
| Deployment automation | Puts the new version live, the same way each time | Docker, a deploy script |
| Monitoring | Watches the live product and sends an alert on a problem | Logs, uptime checks, dashboards |
The cells students fill in are left blank in this preview.