~armagetronad-dev/armagetronad/0.2.8-armagetronad-work

« back to all changes in this revision

Viewing changes to docker/README.md

  • Committer: Manuel Moos (From GitLab CI)
  • Date: 2020-06-01 08:21:51 UTC
  • mfrom: (1166.1.98 master)
  • Revision ID: z-man@users.sf.net-20200601082151-qludv3x0h9uz2c9x
Merge CI system from 0.2.8.3 with adaptions

Adaptions:
Bump docker label versions
Switch release track to CURRENT

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Docker Based Build System
 
2
 
 
3
## You Need to Have Installed
 
4
 * Everything needed for a dedicated server build, plus python packaging
 
5
 * [docker in rootless mode](https://docs.docker.com/engine/security/rootless/)
 
6
 * Optional: [docker in reglar mode](https://docs.docker.com/engine/install/ubuntu/) for steam SDK creation
 
7
 * Optional: [x11docker](https://github.com/mviereck/x11docker) for Windows build system creation
 
8
 
 
9
Ubuntu is recommended, as rootless docker supports the overlay2 driver there;
 
10
pretty much everyone else only gets the vfs driver that always copies the whole
 
11
image contents.
 
12
 
 
13
For Ubuntu, to be on the safe side:
 
14
 
 
15
    sudo apt install git wine-stable automake \
 
16
    bison g++ make libboost-dev libboost-thread-dev \
 
17
    libprotobuf-dev libzthread-dev python recode curl uidmap python3-packaging
 
18
 
 
19
Then follow the instructions from the rootless docker and x11docker above.
 
20
 
 
21
## Contents
 
22
 
 
23
 * scripts/ contains helper scripts
 
24
 * images/ contains everything else needed to build images from scratch
 
25
 * build/ contains the actual build stuff
 
26
 * deploy/ contains information about deployments; pre-filled with target definition; each requires certain secrets
 
27
 
 
28
## How to Build
 
29
 
 
30
Assuming the source is in armagetronad, do
 
31
 
 
32
    cd armagetronad
 
33
    ./bootstrap.sh
 
34
    mkdir ../build
 
35
    cd ../build
 
36
    ../armagetronad/configure --disable-glout
 
37
    cd docker/build
 
38
    make <target>
 
39
 
 
40
target can be
 
41
 
 
42
   * *free*: Build everything relevant for free open source systems
 
43
   * *closed*: Build steam and windows binaries
 
44
   * *full*: Build all
 
45
   * *clean*: Remove build results
 
46
 
 
47
## Developer Notes
 
48
To update to another branch, you may have to adapt related branch names in scripts/relevant_branches.sh.
 
49
 
 
50
To make builds use up to date versions of additional git repositories, call scripts/update_gits.sh.
 
51
 
 
52
All scripts can be invoked from any work directory as long as you invoke them with a relative or absoulte path, they find their relevant data directories and other scripts automatically.