mirror of
https://github.com/dokku/dokku.git
synced 2026-07-13 14:01:49 +02:00
# History ## 0.38.0 Install/update via the bootstrap script: ```shell wget -NP . https://dokku.com/install/v0.38.0/bootstrap.sh sudo DOKKU_TAG=v0.38.0 bash bootstrap.sh ``` See the [0.38.0 migration guide](/docs/appendices/0.38.0-migration-guide.md) for more information on migrating to 0.38.0. ### Bug Fixes - #8533: @josegonzalez Split env config and image pull secret into separate helm releases - #8530: @josegonzalez Split multi-flag input in docker-options - #8528: @josegonzalez Skip retiring images still in use by app containers - #8525: @josegonzalez Add launcher entrypoint for CNB images on dokku run and cron:run - #8522: @josegonzalez Only emit keda fallback when a non-cpu/memory trigger exists - #8515: @josegonzalez Fix vector mount directory config - #8508: @josegonzalez Preserve all domains when renaming an app - #8507: @josegonzalez Retire orphaned containers when scaling down ### New Features - #8538: @josegonzalez Add scheduler-aware named storage entries - #8527: @josegonzalez Accept --global on :report subcommands - #8524: @josegonzalez Pre-validate custom nginx.conf.sigil during core-post-extract - #8523: @josegonzalez Support resource limits on the build container - #8517: @josegonzalez Send SIGTERM to old containers immediately on deploy - #8516: @josegonzalez Scope docker-options to specific procfile processes - #8509: @josegonzalez Ship default catch-all site on fresh apt install - #8506: @josegonzalez Add --format json to git:report and nginx:report - #8505: @josegonzalez Add git:auth-status to check netrc match - #8493: @josegonzalez Generate 502 config for apps without web listeners - #8404: @josegonzalez Upgrade vector chart from 0.42.0 to 0.52.0 - #8403: @josegonzalez Upgrade ingress-nginx chart from 4.10.0 to 4.15.1 - #8402: @josegonzalez Upgrade keda to 2.19.0 and keda-add-ons-http to 0.12.2 - #8259: @josegonzalez Add post-create support for env key in app.json - #8157: @josegonzalez Add support for specifying buildpacks via app.json - #8154: @josegonzalez Enable live-restore by default when installing Dokku - #3697: @josegonzalez Migrate builds plugin to go and track per-build records ### Refactors - #8514: @josegonzalez Migrate docker-options subcommands to go - #6716: @josegonzalez Move app and global ENV files to consolidated config path ### Dependencies - #8541: @dependabot[bot] chore(deps): bump traefik from v3.6.14 to v3.6.15 in /plugins/traefik-vhosts - #8537: @dependabot[bot] chore(deps): bump github.com/traefik/traefik/v2 from 2.11.43 to 2.11.44 in /plugins/scheduler-k3s - #8535: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.39.1 to 1.40.0 in /plugins/common - #8529: @josegonzalez chore: bump dokku/netrc to v0.11.0 - #8520: @dependabot[bot] chore(deps): bump packaging from 26.1 to 26.2 in /docs/_build - #8510: @dependabot[bot] chore(deps): bump packaging from 26.1 to 26.2 in /docs/_build - #8503: @josegonzalez Bump dependency versions and add daily updater workflow - #8502: @josegonzalez Bump go version to 1.26.2 - #8495: @dependabot[bot] chore(deps): bump k8s.io/apimachinery from 0.35.4 to 0.36.0 in /plugins/scheduler-k3s - #8494: @dependabot[bot] chore(deps): bump dokku/openresty-docker-proxy from 0.9.3 to 0.10.0 in /plugins/openresty-vhosts - #8490: @dependabot[bot] chore(deps): bump k8s.io/kubernetes from 1.35.4 to 1.36.0 in /plugins/scheduler-k3s ### Other - #8498: @josegonzalez Migrate environment variables to plugin properties
65 lines
3.7 KiB
Markdown
65 lines
3.7 KiB
Markdown
# Release Process
|
|
|
|
Dokku is released in intervals *at most* three weeks apart, though may be released much quicker.
|
|
|
|
To propose a release, the following tasks need to be performed:
|
|
|
|
```shell
|
|
export PACKAGECLOUD_TOKEN=SOME_TOKEN
|
|
# supports major/minor/patch/betafish
|
|
contrib/release-dokku
|
|
```
|
|
|
|
> If you are a maintainer and need the PACKAGECLOUD_TOKEN in order to make a release, please contact @josegonzalez to get this information.
|
|
|
|
As well, the Arch Linux package description *must* be updated via `vagrant up build-arch` (needs to be done after the tag is pushed to GitHub, because it is based on that)
|
|
|
|
## Versioning
|
|
|
|
Dokku follows semver standards. As we are not yet at a stable release, breaking changes will require *only* a minor release, while all other changes only require a patch release. Once we hit stable, breaking changes will require a major release.
|
|
|
|
At the moment, tags need not be signed, though that may change in the future.
|
|
|
|
## Arch Linux Packages
|
|
|
|
Arch Linux packages are not really build, because all that is needed for an Arch User Repo (AUR) package is the description of how to build the package. To make this process as easy as possible there is a vagrant box called `build-arch` that updates the version of this build description (a file called `PKGBUILD`), then runs some helper scripts to fill all additional information and does test if the package could be build. Then only those changes need to be pushed to the AUR repo and an updated version of the package is ready for usage for our Arch Linux users. For detailed information see the section below.
|
|
|
|
The workflow looks like this:
|
|
|
|
```shell
|
|
# having dokku-arch in ../dokku-arch
|
|
vagrant up build-arch
|
|
# wait for "==> build-arch: ==> Finished making: dokku 0.38.0-2 (Mon Feb 22 23:20:37 CET 2016)"
|
|
cd ../dokku-arch
|
|
git add PKGBUILD .SRCINFO
|
|
git commit -m 'Update to dokku 0.9.9'
|
|
git push aur master
|
|
```
|
|
|
|
> If you are a maintainer and need access to the AUR repositories in order to make a release, please contact @morrisjobke or @josegonzalez to get this co-maintainership.
|
|
|
|
### Detailed information for Arch Linux packages
|
|
|
|
All of the information to build the Arch Linux package is in the AUR git repository (see [dokku AUR page](https://aur.archlinux.org/packages/dokku/)). The release of a AUR package only consists of pushing the package information into the AUR git repo. Then users could use that information to build the package on their machines.
|
|
|
|
To update the package clone the repository and adjust the files in the repository. Then a helper script - `updpkgsums` - to update the SHA sum could be called (check against the original SHA sum). Another helper script - `mksrcinfo` - needs to be called to update the meta information of the package in a file called `.SRCINFO`. The next step builds the package locally for verification - `makepkg`. As last step commit your changes and push the commit.
|
|
|
|
* dependencies are defined in the `depends` attribute in `PKGBUILD`
|
|
* build steps during package build time are defined in the `package()` method in `PKGBUILD`
|
|
* steps that should be executed during install/update/remove time are defined in the file `dokku.install`
|
|
* detailed information about all attributes in `PKGBUILD` could be found in the [Arch Linux wiki](https://wiki.archlinux.org/index.php/PKGBUILD)
|
|
* detailed information about the AUR workflow could be found in the [AUR article](https://wiki.archlinux.org/index.php/Arch_User_Repository) in the Arch Linux wiki
|
|
|
|
That is the usual workflow:
|
|
|
|
```shell
|
|
updpkgsums # update sha sums - compare them with the original ones
|
|
mksrcinfo # update package metadata for AUR
|
|
makepkg # test package builds
|
|
git add PKGBUILD .SRCINFO
|
|
git commit -m 'Update to dokku 0.9.9'
|
|
git push
|
|
```
|
|
|
|
> If there is something unclear simply ask @morrisjobke for help.
|