KasmVNC/builder
Dmitry Maksyoma 91eb953f62
Feature/kasm 1838 libjpeg turbo from source (#49)
New build option with latest stable libjpeg-turbo library
2021-09-07 08:11:21 -04:00
..
startup Deb: make easy-start script easier to modify 2021-03-14 21:19:08 +13:00
build_and_deploy_kasm.sh Initial commit 2020-09-20 12:16:44 +00:00
build_www.sh fixes 2021-04-11 21:35:13 +00:00
build-and-test-deb Move build-and-test-* to builder/ 2021-02-28 21:28:14 +13:00
build-and-test-rpm Move build-and-test-* to builder/ 2021-02-28 21:28:14 +13:00
build-deb Feature/kasm 1838 libjpeg turbo from source (#49) 2021-09-07 08:11:21 -04:00
build-deb-inside-docker Feature/kasm 1838 libjpeg turbo from source (#49) 2021-09-07 08:11:21 -04:00
build-package Feature/kasm 1838 libjpeg turbo from source (#49) 2021-09-07 08:11:21 -04:00
build-rpm Feature/kasm 1838 libjpeg turbo from source (#49) 2021-09-07 08:11:21 -04:00
build-rpm-inside-docker Rpm: run rpmlint after building rpm 2021-02-12 23:07:03 +13:00
build-tarball Feature/kasm 1838 libjpeg turbo from source (#49) 2021-09-07 08:11:21 -04:00
build.sh Feature/kasm 1838 libjpeg turbo from source (#49) 2021-09-07 08:11:21 -04:00
dockerfile.centos_core.barebones.rpm.test Deb/rpm: update barebones images 2021-03-26 01:10:43 +13:00
dockerfile.centos_core.build Slash a minute off tarball build 2021-08-17 00:00:55 +12:00
dockerfile.centos_core.rpm.build Rpm: run rpmlint after building rpm 2021-02-12 23:07:03 +13:00
dockerfile.centos_core.rpm.test Rpm: group kasmvnc -> kasmvnc-cert 2021-02-22 22:28:30 +13:00
dockerfile.debian_bullseye.build Slash a minute off tarball build 2021-08-17 00:00:55 +12:00
dockerfile.debian_bullseye.deb.build Feature/kasm 1838 libjpeg turbo from source (#49) 2021-09-07 08:11:21 -04:00
dockerfile.debian_bullseye.deb.test Feature/kasm 1838 libjpeg turbo from source (#49) 2021-09-07 08:11:21 -04:00
dockerfile.debian_buster.barebones.deb.test Feature/kasm 1838 libjpeg turbo from source (#49) 2021-09-07 08:11:21 -04:00
dockerfile.debian_buster.build Slash a minute off tarball build 2021-08-17 00:00:55 +12:00
dockerfile.debian_buster.deb.build Feature/kasm 1838 libjpeg turbo from source (#49) 2021-09-07 08:11:21 -04:00
dockerfile.debian_buster.deb.test Feature/kasm 1838 libjpeg turbo from source (#49) 2021-09-07 08:11:21 -04:00
dockerfile.fedora_thirtythree.barebones.rpm.test Deb/rpm: update barebones images 2021-03-26 01:10:43 +13:00
dockerfile.fedora_thirtythree.build Slash a minute off tarball build 2021-08-17 00:00:55 +12:00
dockerfile.fedora_thirtythree.rpm.build tarball: include Xvnc.1 man page 2021-02-19 22:58:38 +13:00
dockerfile.fedora_thirtythree.rpm.test Rpm: group kasmvnc -> kasmvnc-cert 2021-02-22 22:28:30 +13:00
dockerfile.kali_kali-rolling.build Slash a minute off tarball build 2021-08-17 00:00:55 +12:00
dockerfile.kali_kali-rolling.deb.build Feature/kasm 1838 libjpeg turbo from source (#49) 2021-09-07 08:11:21 -04:00
dockerfile.kali_kali-rolling.deb.test Feature/kasm 1838 libjpeg turbo from source (#49) 2021-09-07 08:11:21 -04:00
dockerfile.ubuntu1604.build Slash a minute off tarball build 2021-08-17 00:00:55 +12:00
dockerfile.ubuntu_bionic.build Slash a minute off tarball build 2021-08-17 00:00:55 +12:00
dockerfile.ubuntu_bionic.deb.build Feature/kasm 1838 libjpeg turbo from source (#49) 2021-09-07 08:11:21 -04:00
dockerfile.ubuntu_bionic.deb.test Feature/kasm 1838 libjpeg turbo from source (#49) 2021-09-07 08:11:21 -04:00
dockerfile.ubuntu_bionic.test Deb: release numbers (18.04) -> codenames (bionic) 2021-01-28 22:10:46 +13:00
dockerfile.ubuntu_bionic+libjpeg-turbo_latest.build Feature/kasm 1838 libjpeg turbo from source (#49) 2021-09-07 08:11:21 -04:00
dockerfile.ubuntu_bionic+libjpeg-turbo_latest.deb.build Feature/kasm 1838 libjpeg turbo from source (#49) 2021-09-07 08:11:21 -04:00
dockerfile.ubuntu_bionic+libjpeg-turbo_latest.deb.test Feature/kasm 1838 libjpeg turbo from source (#49) 2021-09-07 08:11:21 -04:00
dockerfile.ubuntu_focal.barebones.deb.test Feature/kasm 1838 libjpeg turbo from source (#49) 2021-09-07 08:11:21 -04:00
dockerfile.ubuntu_focal.build Slash a minute off tarball build 2021-08-17 00:00:55 +12:00
dockerfile.ubuntu_focal.deb.build Feature/kasm 1838 libjpeg turbo from source (#49) 2021-09-07 08:11:21 -04:00
dockerfile.ubuntu_focal.deb.test Feature/kasm 1838 libjpeg turbo from source (#49) 2021-09-07 08:11:21 -04:00
dockerfile.ubuntu_focal.test Deb: release numbers (18.04) -> codenames (bionic) 2021-01-28 22:10:46 +13:00
dockerfile.www.build added dockerfile build process for www 2021-01-10 19:03:13 +00:00
os_ver_cli.sh Feature/kasm 1838 libjpeg turbo from source (#49) 2021-09-07 08:11:21 -04:00
README.md Feature/kasm 1838 libjpeg turbo from source (#49) 2021-09-07 08:11:21 -04:00
test-deb Feature/kasm 1838 libjpeg turbo from source (#49) 2021-09-07 08:11:21 -04:00
test-deb-barebones Deb: update Debian Buster barebones test to work 2021-03-03 22:47:48 +13:00
test-rpm Add verbose logging via KASMVNC_VERBOSE_LOGGING env var 2021-02-28 21:21:49 +13:00
test-rpm-barebones Deb/rpm: change test user password to "foobar" 2021-02-28 20:48:17 +13:00

REQIUREMENTS

Docker CE

Build a deb/rpm package

# builder/build-package <os> <os_codename> <build_tag>
# os_codename is what "lsb_release -c" outputs, e.g. buster, focal.
#
# build_tag allows building multiple versions of deb package (rpm not supported)
# targeting a single distro release (e.g. Ubuntu Bionic). If build_tag is given,
# the package name will include build_tag as part of Debian revision. For
# example:
# * with build_tag: kasmvncserver_0.9.1~beta-1+libjpeg-turbo-latest_amd64.deb
# * without build_tag: kasmvncserver_0.9.1~beta-1_amd64.deb
# You need to have .build and .deb.build for the build_tag.
#
# Packages will be placed under builder/build/

builder/build-package ubuntu bionic
builder/build-package ubuntu focal
builder/build-package debian buster
builder/build-package debian bullseye
builder/build-package kali kali-rolling
builder/build-package centos core # CentOS 7
builder/build-package fedora thirtythree

Build and test a package

builder/build-and-test-deb ubuntu focal
builder/build-and-test-rpm centos core

Open browser and point to https://localhost:443/ or https://<ip-address>:443/

3 default users are created:

  • 'foo' with default password 'foobar'. It can use mouse and keyboard.
  • 'foo-ro' with default password 'foobar'. It can only view.
  • 'foo-owner' with default password 'foobar'. It can manage other users.

Test a package

If you want to test deb/rpm package you've already built, please use this:

builder/test-deb ubuntu focal

It will install the package inside a new container and run KasmVNC.

Open browser and point to https://localhost:443/ or https://<ip-address>:443/

Package development

deb/rpm package building and testing

First, a tarball is built, and then its files are copied to deb/rpm package as it is being built. Package testing stage installs the deb/rpm package in a fresh docker container and runs KasmVNC.

builder/build-tarball debian buster
builder/build-deb debian buster
builder/test-deb debian buster

Use build-and-test-deb to perform the whole dev lifecycle, but to iterate quickly, you'll need to skip building the tarball (which takes a long time), and just build your deb/rpm with build-deb and test with test-deb.

build-rpm and test-rpm are also available.

Ensuring packages have all dependencies they need.

If you're working on a deb/rpm package, testing that it has all the necessary dependencies is done via testing in a barebones environment (read: no XFCE). In this way we can be sure that runtime dependencies aren't met accidentally by packages installed with XFCE.

builder/test-deb-barebones ubuntu focal

CI development

S3 upload code is extracted to various files in .ci. It's possible to iterate locally by doing stuff like this:

bash -c '
. .ci/upload.sh;
prepare_upload_filename "bionic/kasmvncserver_0.9.1~beta-1+libjpeg-turbo-latest_amd64.deb";
echo $upload_filename;'