-
Notifications
You must be signed in to change notification settings - Fork 106
Prepare a new release
Continuous Delivery can complete the current manual from beginning to end, but it's not configured/implemented yet and manual actions are required #786 . The document shouldn't be abandoned on CD arrival, it should document CD behaviour instead.
After a new release is build and uploaded the following list of actions must be performed to assure the the uploaded release is fully functional.
- Only release branch are packaged, not bugfix or feature branch. Currently only one release branch exists:
release-0.8
- Release version must be bumped.
- Changelog must be updated.
- Actual commit in the release branch used to build the package must be marked by a git tag with name equal to release version.
- Clean environment must be used to build the package.
- Build the package
- Assure that the package is fully functional: package has the correct version number, it can be successfully installed, and once installed, it normally operates (better is to run functional tests against the built artefact).
- Upload the package to Nexus ant GitHub releases page.
Install clean Ubuntu 24.04 LTS and update to the last version.
Clone the tempesta
and tempesta-ci
repositories:
git clone https://github.com/tempesta-tech/tempesta.git -b <release-branch>
git clone https://github.com/tempesta-tech/tempesta-ci.git
[TODO]: Configure digital signatures to sign packages after build. At the moment packages are unsigned.
Just run release script:
tempesta-ci/scripts/kernel_release.py --tempesta_path /home/ubuntu/tempesta --release-version 0.8.0 --token <access_token>
- create access_token
This script will create a new release on https://github.com/tempesta-tech/linux-5.10.35-tfw/releases.
We have Jenkins job to create release page for kernel repositories.
Consult the manual in the separate repo (deprecated).
- Install the required kernel version:
sudo ./tempesta-ci/scripts/kernel_installer.py --make_default --install-only --tempesta_path=/home/ubuntu/tempesta
- Disable graphical terminal and reboot the system for a new kernel version:
echo 'GRUB_TERMINAL="serial console"' | sudo tee -a /etc/default/grub sudo update-grub sudo reboot
- Check the kernel version -
uname -r
, it should have a similar pattern -5.10.35.tfw-669c591
- Install build dependencies for TempestaFW.
- Build TempestaFW:
cd tempesta make
- Configure packager information:
export DEBEMAIL="info@tempesta-tech.com" export DEBFULLNAME="Tempesta Technologies, Inc."
- Change kernel version in
pkg/debian/control
forlinux-headers
andlinux-image
to current kernel version (fromuname -r
) - Install build requirements:
sudo apt-get install devscripts build-essential lintian debhelper -y
- Create symlink and run build:
ln -s pkg/debian/ debian debuild -us -uc cd ..
The binary package will be saved as tempesta-fw_<VERSION>_amd64.deb
. Other files are required to distribute the TemestaFW through software repository.
Run installation of built package tempesta-fw__amd64.deb on clean Ubuntu24
sudo apt install ./tempesta-fw_0.8.0_amd64.deb
Install clean Ubuntu 24.04 system and follow the installation guide. Assure that the correct version is installed and it's operational.
Navigate to Nexus and upload builded tempesta-fw package via Upload component
button
Imagine, that version 0.5.4
is build for release-0.7
branch.
Mark the commit used for the build and build the package.
git tag 0.7.0
git push --tags
Once package is built and tested, create a new release on GitHub, tag, used to publish the release must follow the scheme: <distro-version>/<release_version>
:
ubuntu-22/0.7.0
Tick Pre-Release
gauge for alpha releases.
- Home
- Requirements
- Installation
-
Configuration
- Migration from Nginx
- On-the-fly reconfiguration
- Handling clients
- Backend servers
- Load Balancing
- Caching Responses
- Non-Idempotent Requests
- Modify HTTP Messages
- Virtual hosts and locations
- HTTP Session Management
- HTTP Tables
- HTTP(S) Security
- Header Via
- Health monitor
- TLS
- Virtual host confusion
- Traffic Filtering by Fingerprints
- TFW-Logger
- Run & Stop
- Application Performance Monitoring
- Use cases
- Performance
- Contributing