Merge pull request #3764 from Icinga/update-release-docs

Update release docs
This commit is contained in:
Johannes Meyer 2019-05-06 12:54:27 +02:00 committed by GitHub
commit 7326f527cb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -25,7 +25,7 @@
Specify the release version. Specify the release version.
``` ```
VERSION=2.6.0 VERSION=2.6.3
``` ```
Add your signing key to your Git configuration file, if not already there. Add your signing key to your Git configuration file, if not already there.
@ -46,7 +46,7 @@ Check issues at https://github.com/Icinga/icingaweb2
### Backport Commits <a id="backport-commits"></a> ### Backport Commits <a id="backport-commits"></a>
For minor versions not branched off git master you need For minor versions not branched off git master you need
to manually backports any and all commits from the to manually backport any and all commits from the
master branch which should be part of this release. master branch which should be part of this release.
### Authors <a id="authors"></a> ### Authors <a id="authors"></a>
@ -69,8 +69,8 @@ Commands:
``` ```
echo "v$VERSION" > VERSION echo "v$VERSION" > VERSION
sed -i '' "s/const VERSION = '.*'/const VERSION = '$VERSION'/g" library/Icinga/Application/Version.php sed -i "s/const VERSION = '.*'/const VERSION = '$VERSION'/g" library/Icinga/Application/Version.php
find . -type f -name '*.info' -exec sed -i '' "s/Version: .*/Version: $VERSION/g" {} \; find . -type f -name '*.info' -exec sed -i "s/Version: .*/Version: $VERSION/g" {} \;
``` ```
## Changelog <a id="changelog"></a> ## Changelog <a id="changelog"></a>
@ -136,12 +136,12 @@ sed -i "s/Version: .*/Version: $VERSION/g" icingaweb2.spec
vim icingaweb2.spec vim icingaweb2.spec
%changelog %changelog
* Fri Apr 27 2018 Eric.Lippmann <eric.lippmann@icinga.com> 2.5.3-1 * Wed Apr 24 2019 Johannes Meyer <johannes.meyer@icinga.com> 2.6.3-1
- Update to 2.5.3 - Update to 2.6.3
``` ```
``` ```
git commit -av -m "Release 2.5.3-1" git commit -av -m "Release $VERSION-1"
git push git push
``` ```
@ -174,37 +174,47 @@ git checkout release && git pull
#### Release Commit #### Release Commit
Set the `Version`, `Revision` and `changelog` inside the spec file. Set the `Version`, `Revision` and `changelog` by using the `dch` helper.
``` ```
./dch 2.5.3-1 "Update to 2.5.3" VERSION=2.6.3
./dch $VERSION-1 "Update to $VERSION"
``` ```
``` ```
git commit -av -m "Release 2.5.3-1" git commit -av -m "Release $VERSION-1"
git push git push
``` ```
**Note for major releases**: Update release branch to latest. **Note for major releases**: Update release branch to latest.
`git checkout release && git pull && git merge master && git push`
```
git checkout release && git pull && git merge master && git push
```
**Note for minor releases**: Cherry-pick the release commit into master. **Note for minor releases**: Cherry-pick the release commit into master.
`git checkout master && git pull && git cherry-pick release && git push`
```
git checkout master && git pull && git cherry-pick release && git push
```
#### DEB with dch on macOS #### DEB with dch on macOS
``` ```
docker run -v `pwd`:/mnt/packaging -ti ubuntu:xenial bash docker run -v `pwd`:/mnt/packaging -ti ubuntu:bionic bash
apt-get update apt-get update && apt-get install git ubuntu-dev-tools vim -y
apt-get install git devscripts vim
cd /mnt/packaging cd /mnt/packaging
git config --global user.name "Eric Lippmann" git config --global user.name "Eric Lippmann"
git config --global user.email "eric.lippmann@icinga.com" git config --global user.email "eric.lippmann@icinga.com"
./dch 2.5.3-1 "Update to 2.5.3" VERSION=2.6.3
./dch $VERSION-1 "Update to $VERSION"
``` ```
## Build Server <a id="build-server"></a> ## Build Server <a id="build-server"></a>
@ -212,24 +222,70 @@ git config --global user.email "eric.lippmann@icinga.com"
* Verify package build changes for this version. * Verify package build changes for this version.
* Test the snapshot packages for all distributions beforehand. * Test the snapshot packages for all distributions beforehand.
* Build the newly created Git tag for Debian/RHEL/SuSE. * Build the newly created Git tag for Debian/RHEL/SuSE.
* Wait until all jobs have passed and then publish them one by one with `allow_release`
## Release Tests <a id="release-tests"></a> ## Release Tests <a id="release-tests"></a>
* Provision the vagrant boxes and test the release packages. * Provision the vagrant boxes and test the release packages.
* * Start a new docker container and install/run Icinga Web 2 & icingacli.
### CentOS
```
docker run -ti centos:latest bash
yum -y install https://packages.icinga.com/epel/icinga-rpm-release-7-latest.noarch.rpm
yum -y install centos-release-scl
yum -y install icingaweb2 icingacli
icingacli
```
### Debian
```
docker run -ti debian:stretch bash
apt-get update && apt-get install -y wget curl gnupg apt-transport-https
DIST=$(awk -F"[)(]+" '/VERSION=/ {print $2}' /etc/os-release); \
echo "deb https://packages.icinga.com/debian icinga-${DIST} main" > \
/etc/apt/sources.list.d/${DIST}-icinga.list
echo "deb-src https://packages.icinga.com/debian icinga-${DIST} main" >> \
/etc/apt/sources.list.d/${DIST}-icinga.list
curl https://packages.icinga.com/icinga.key | apt-key add -
apt-get -y install icingaweb2 icingacli
icingacli
```
## GitHub Release <a id="github-release"></a> ## GitHub Release <a id="github-release"></a>
Create a new release for the newly created Git tag: https://github.com/Icinga/icingaweb2/releases Create a new release for the newly created Git tag: https://github.com/Icinga/icingaweb2/releases
> Hint: Choose [tags](https://github.com/Icinga/icingaweb2/tags), pick one to edit and
> make this a release. You can also create a draft release.
The release body should contain a short changelog, with links
into the roadmap, changelog and blogpost.
### Online Documentation <a id="online-documentation"></a> ### Online Documentation <a id="online-documentation"></a>
Ask @bobapple to update the documentation at docs.icinga.com. This is built with a daily cronjob.
#### Manual Updates
SSH into the webserver or ask [bobapple](https://github.com/bobapple).
```
cd /usr/local/icinga-docs-tools && ./build-docs.rb -c /var/www/docs/config/icingaweb2-latest.yml
```
### Announcement <a id="announcement"></a> ### Announcement <a id="announcement"></a>
* Create a new blog post on icinga.com/blog * Create a new blog post on [icinga.com/blog](https://icinga.com/blog) including a featured image
* Social media: [Twitter](https://twitter.com/icinga), [Facebook](https://www.facebook.com/icinga), [Xing](https://www.xing.com/communities/groups/icinga-da4b-1060043), [LinkedIn](https://www.linkedin.com/groups/Icinga-1921830/about) * Create a release topic on [community.icinga.com](https://community.icinga.com)
* Update IRC channel topic * Release email to net-tech & team
### Project Management <a id="project-management"></a> ### Project Management <a id="project-management"></a>