Merge pull request #7074 from dokku/6994-upgrade-cnb-builder

Upgrade cnb builder to heroku/builder:24
This commit is contained in:
Jose Diaz-Gonzalez
2024-09-22 01:40:22 -04:00
committed by GitHub
6 changed files with 32 additions and 7 deletions

View File

@@ -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
View File

@@ -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"}

View 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"
}
}
}

View File

@@ -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"

View File

@@ -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)

View File

@@ -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"
}