11# docker-cloudstack-builder
22
3- This repository maintains the Dockerfile and scripts to build Apache CloudStack in docker images .
3+ This repository maintains the Dockerfile and scripts to build Apache CloudStack in docker containers .
44
55Contents
66=================
@@ -17,11 +17,12 @@ Contents
1717
1818## Compatibility matrix
1919
20- | ** Docker image** | ** CloudStack versions** | ** Note** |
21- | ---------------------| -------------------------------| ----------------------|
22- | ubuntu2204.v1 | 4.18.x, 4.19.x | DEB packages for Ubuntu distros |
23- | rocky8.v1 | 4.18.x, 4.19.x | RPM packages for RHEL/Rocky Linux/AlmaLinux/OracleLinux 8/9 distros |
24- | centos7.v1 | 4.18.x, 4.19.x | RPM packages for RHEL 7 / CentOS 7 distros |
20+ | ** Docker image** | ** CloudStack versions** | ** Software Versions** | ** Note** |
21+ | ---------------------| -------------------------------| -----------------------| ----------------------|
22+ | ** ubuntu2404.v1** | 4.18.x, 4.19.x | JDK 11, nodejs 16 | DEB packages for Ubuntu distros |
23+ | ** ubuntu2204.v1** | 4.18.x, 4.19.x | JDK 11, nodejs 14 | DEB packages for Ubuntu distros |
24+ | ** rocky8.v1** | 4.18.x, 4.19.x | JDK 11, nodejs 14 | RPM packages for RHEL/Rocky Linux/AlmaLinux/OracleLinux 8/9 distros |
25+ | ** centos7.v1** | 4.18.x, 4.19.x | JDK 11, nodejs 14 | RPM packages for RHEL 7 / CentOS 7 distros |
2526
2627## Usage
2728
@@ -30,8 +31,9 @@ Contents
3031The pre-built image can be found at https://hub.docker.com/repository/docker/weizhouapache/cloudstack-builder
3132
3233```
33- cd ubuntu2204.v1
34- docker build -f Dockerfile -t weizhouapache/cloudstack-builder:ubuntu2204.v1 .
34+ image=ubuntu2204.v1
35+ cd $image
36+ docker build -f Dockerfile -t weizhouapache/cloudstack-builder:$image .
3537```
3638
3739### 1. Build packages with configuration file
@@ -51,10 +53,11 @@ Below are configurations in the configuration file.
5153| ` BUILD_OPTS ` | The build options. Refer to ` Build Options ` | Default: ` "-Dnoredist -DskipTests -Dsystemvm-kvm -Dsystemvm-xen -Dsystemvm-vmware -T2" ` |
5254| ` PACKAGE_OPTS ` | The options for ` package.sh ` (RPM only) | Default: None |
5355
54- Samples of environment variables to build latest ` main ` branch can be found at
55- - ` config.ubuntu.sample `
56- - ` config.rocky8.sample `
57- - ` config.centos7.sample `
56+ Samples of configuration file to build latest ` main ` branch can be found at
57+ - ` config.ubuntu2204.v1.sample `
58+ - ` config.ubuntu2404.v1.sample `
59+ - ` config.rocky8.v1.sample `
60+ - ` config.centos7.v1.sample `
5861
5962### 2. Build packages with parameters
6063
@@ -74,10 +77,10 @@ Usage: ./build.sh
7477
7578Examples
7679```
77- # Build from a local directory
80+ # Build from a local directory and copy packages to /tmp
7881./build.sh -i ubuntu2204.v1 -s /data/cloudstack -o /tmp -b "-Dnoredist -DskipTests -Dsystemvm-kvm -Dsystemvm-xen -Dsystemvm-vmware"
7982
80- # Build from git repository
83+ # Use sudo to build from git repository and copy packages to /tmp
8184./build.sh -i ubuntu2204.v1 -s https://github.com/apache/cloudstack.git -o /tmp -v main -b "-Dnoredist -DskipTests -Dsystemvm-kvm -Dsystemvm-xen -Dsystemvm-vmware" -u
8285```
8386
@@ -122,16 +125,17 @@ $SUDO docker run -ti \
122125 -e BUILD_OPTS \
123126 weizhouapache/cloudstack-builder:ubuntu2204.v1
124127```
128+
125129## Build Options
126130
127- | ** OS** | ** Option** | ** Note** |
128- | -------------| --------------------| ----------------------|
129- | Ubuntu/Rocky8 | -Dnoredist | Support non-Open Source Software (e.g. VMware) |
130- | | -DskipTests | Skip unit tests |
131- | | -Dsystemvm-kvm | Bundle with SystemVM template for KVM |
132- | | -Dsystemvm-vmware | Bundle with SystemVM template for VMware |
133- | | -Dsystemvm-xen | Bundle with SystemVM template for XenServer/XCP-ng |
134- | | -T n | Builds with n threads |
131+ | ** OS** | ** Option** | ** Note** |
132+ | -------------- | --------------------| ----------------------|
133+ | Ubuntu/Rocky | -Dnoredist | Support non-Open Source Software (e.g. VMware) |
134+ | | -DskipTests | Skip unit tests |
135+ | | -Dsystemvm-kvm | Bundle with SystemVM template for KVM |
136+ | | -Dsystemvm-vmware | Bundle with SystemVM template for VMware |
137+ | | -Dsystemvm-xen | Bundle with SystemVM template for XenServer/XCP-ng |
138+ | | -T n | Builds with n threads |
135139
136140
137141The default value is ` -Dnoredist -DskipTests -Dsystemvm-kvm -Dsystemvm-xen -Dsystemvm-vmware -T2 `
@@ -140,9 +144,9 @@ The default value is `-Dnoredist -DskipTests -Dsystemvm-kvm -Dsystemvm-xen -Dsys
140144
141145More details for RPM build can be found at https://github.com/apache/cloudstack/blob/main/packaging/package.sh
142146
143- | ** OS** | ** Option** | ** Note** |
144- | -------------| --------------------| ----------------------|
145- | Rocky 8 | -p, --pack | Define which type of libraries to package ("oss"\| "OSS"\| "noredist"\| "NOREDIST") (default "oss") |
147+ | ** OS** | ** Option** | ** Note** |
148+ | -------------| --------------------- | ----------------------|
149+ | Rocky 8 | -p, --pack | Define which type of libraries to package ("oss"\| "OSS"\| "noredist"\| "NOREDIST") (default "oss") |
146150| | -T, --use-timestamp | Use epoch timestamp instead of SNAPSHOT in the package name (if not provided, use "SNAPSHOT") |
147151| | -t, --templates | Passes necessary flag to package the required templates. Comma separated string - kvm,xen,vmware,ovm,hyperv |
148152
0 commit comments