mirror of
https://github.com/dokku/dokku.git
synced 2025-12-29 00:25:08 +01:00
Merge pull request #7074 from dokku/6994-upgrade-cnb-builder
Upgrade cnb builder to heroku/builder:24
This commit is contained in:
@@ -147,7 +147,7 @@ project2.toml
|
||||
> [!IMPORTANT]
|
||||
> New as of 0.23.0
|
||||
|
||||
The default stack builder in use by CNB buildpacks in Dokku is based on `heroku/builder:22`. Users may desire to switch the stack builder to a custom version, either to update the operating system or to customize packages included with the stack builder. This can be performed via the `buildpacks:set-property` command.
|
||||
The default stack builder in use by CNB buildpacks in Dokku is based on `heroku/builder:24`. Users may desire to switch the stack builder to a custom version, either to update the operating system or to customize packages included with the stack builder. This can be performed via the `buildpacks:set-property` command.
|
||||
|
||||
```shell
|
||||
dokku buildpacks:set-property node-js-app stack paketobuildpacks/build:base-cnb
|
||||
@@ -161,7 +161,7 @@ dokku buildpacks:set-property node-js-app stack
|
||||
|
||||
A change in the stack builder value will execute the `post-stack-set` trigger.
|
||||
|
||||
Finally, stack builders can be set or unset globally as a fallback. This will take precedence over a globally set `DOKKU_CNB_BUILDER` environment variable (`heroku/builder:22` by default).
|
||||
Finally, stack builders can be set or unset globally as a fallback. This will take precedence over a globally set `DOKKU_CNB_BUILDER` environment variable (`heroku/builder:24` by default).
|
||||
|
||||
```shell
|
||||
# set globally
|
||||
|
||||
2
dokku
2
dokku
@@ -40,7 +40,7 @@ DOKKU_DISTRO=$(
|
||||
export DOCKER_BIN=${DOCKER_BIN:="docker"}
|
||||
|
||||
export DOKKU_IMAGE=${DOKKU_IMAGE:="gliderlabs/herokuish:latest-24"}
|
||||
export DOKKU_CNB_BUILDER=${DOKKU_CNB_BUILDER:="heroku/builder:22"}
|
||||
export DOKKU_CNB_BUILDER=${DOKKU_CNB_BUILDER:="heroku/builder:24"}
|
||||
export DOKKU_LIB_ROOT=${DOKKU_LIB_PATH:="/var/lib/dokku"}
|
||||
|
||||
export PLUGIN_PATH=${PLUGIN_PATH:="$DOKKU_LIB_ROOT/plugins"}
|
||||
|
||||
21
tests/apps/python/app-cnb.json
Normal file
21
tests/apps/python/app-cnb.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"healthchecks": {
|
||||
"web": [
|
||||
{
|
||||
"attempts": 2,
|
||||
"content": "python/http.server",
|
||||
"name": "check-1",
|
||||
"path": "/",
|
||||
"timeout": 5,
|
||||
"type": "startup",
|
||||
"wait": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"scripts": {
|
||||
"dokku": {
|
||||
"postdeploy": "touch /workspace/postdeploy.test",
|
||||
"predeploy": "touch /workspace/predeploy.test"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,6 +9,8 @@ uri = "./cnb/1"
|
||||
[[build.buildpacks]]
|
||||
uri = "./cnb/1"
|
||||
|
||||
[[build.buildpacks]]
|
||||
uri = "gcr.io/paketo-buildpacks/python"
|
||||
|
||||
[[order.group]]
|
||||
uri = "gcr.io/paketo-buildpacks/procfile"
|
||||
|
||||
@@ -5,7 +5,8 @@ import os
|
||||
def main():
|
||||
print("GLOBAL_SECRET: {0}".format(os.getenv('GLOBAL_SECRET')))
|
||||
print("SECRET_KEY: {0}".format(os.getenv('SECRET_KEY')))
|
||||
with open("/app/.env", "r") as f:
|
||||
app_dir = os.getcwd()
|
||||
with open(f"{app_dir}/.env", "r") as f:
|
||||
for line in f.readlines():
|
||||
if "DOTENV_KEY" in line:
|
||||
print(line)
|
||||
|
||||
@@ -25,12 +25,12 @@ teardown() {
|
||||
echo "status: $status"
|
||||
assert_success
|
||||
|
||||
run /bin/bash -c "dokku buildpacks:set-property $TEST_APP stack heroku/builder:22"
|
||||
run /bin/bash -c "dokku buildpacks:set-property $TEST_APP stack heroku/builder:24"
|
||||
echo "output: $output"
|
||||
echo "status: $status"
|
||||
assert_success
|
||||
|
||||
run deploy_app python dokku@$DOKKU_DOMAIN:$TEST_APP inject_requirements_txt
|
||||
run deploy_app python dokku@$DOKKU_DOMAIN:$TEST_APP initialize_for_cnb
|
||||
echo "output: $output"
|
||||
echo "status: $status"
|
||||
assert_success
|
||||
@@ -81,9 +81,10 @@ teardown() {
|
||||
assert_success
|
||||
}
|
||||
|
||||
inject_requirements_txt() {
|
||||
initialize_for_cnb() {
|
||||
local APP="$1"
|
||||
local APP_REPO_DIR="$2"
|
||||
[[ -z "$APP" ]] && local APP="$TEST_APP"
|
||||
echo "flask" >>"$APP_REPO_DIR/requirements.txt"
|
||||
mv "$APP_REPO_DIR/app-cnb.json" "$APP_REPO_DIR/app.json"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user