Merge pull request #5019 from dokku/4965-global-domain-renames

Only rename app domains associated with a global domain
This commit is contained in:
Jose Diaz-Gonzalez
2022-01-29 07:24:36 -05:00
committed by GitHub
4 changed files with 47 additions and 4 deletions

View File

@@ -0,0 +1,13 @@
# 0.27.0 Migration Guide
## Changes
- Renaming an application will now only rename domains that are associated with global domains. As an example:
```shell
dokku domains:set-global dokku.me
dokku apps:create node-js-app
dokku domains:set node-js-app node-js-app.dokku.me node-js-app.dokku.com
dokku apps:rename node-js-app other-name
dokku domains:report node-js-app --domains-app-vhosts
# output: other-name.dokku.me node-js-app.dokku.com
```

View File

@@ -19,6 +19,7 @@ Docker releases updates periodically to their engine. We recommend reading their
Before upgrading, check the migration guides to get comfortable with new features and prepare your deployment to be upgraded. Before upgrading, check the migration guides to get comfortable with new features and prepare your deployment to be upgraded.
- [Upgrading to 0.27](/docs/appendices/0.27.0-migration-guide.md)
- [Upgrading to 0.26](/docs/appendices/0.26.0-migration-guide.md) - [Upgrading to 0.26](/docs/appendices/0.26.0-migration-guide.md)
- [Upgrading to 0.25](/docs/appendices/0.25.0-migration-guide.md) - [Upgrading to 0.25](/docs/appendices/0.25.0-migration-guide.md)
- [Upgrading to 0.24](/docs/appendices/0.24.0-migration-guide.md) - [Upgrading to 0.24](/docs/appendices/0.24.0-migration-guide.md)

View File

@@ -7,11 +7,12 @@ trigger-domains-post-app-rename-setup() {
declare trigger="post-app-rename-setup" declare trigger="post-app-rename-setup"
declare OLD_APP="$1" NEW_APP="$2" declare OLD_APP="$1" NEW_APP="$2"
if [[ -f "$DOKKU_ROOT/$NEW_APP/URLS" ]]; then rm -f "$DOKKU_ROOT/$NEW_APP/URLS"
sed -i -e "s/$OLD_APP/$NEW_APP/g" "$DOKKU_ROOT/$NEW_APP/URLS"
fi
if [[ -f "$DOKKU_ROOT/$NEW_APP/VHOST" ]]; then if [[ -f "$DOKKU_ROOT/$NEW_APP/VHOST" ]]; then
sed -i -e "s/$OLD_APP/$NEW_APP/g" "$DOKKU_ROOT/$NEW_APP/VHOST" while read -r VHOST || [[ -n "$VHOST" ]]; do
sed -i -e "s/$OLD_APP.$VHOST/$NEW_APP.$VHOST/g" "$DOKKU_ROOT/$NEW_APP/VHOST"
done <"$DOKKU_ROOT/VHOST"
fi fi
} }

View File

@@ -327,3 +327,31 @@ teardown() {
dokku --force apps:destroy test.dokku.test dokku --force apps:destroy test.dokku.test
} }
@test "(domains) app rename only renames domains associated with global domains" {
run /bin/bash -c "dokku domains:set-global dokku.me"
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "dokku domains:set $TEST_APP $TEST_APP.dokku.me $TEST_APP.dokku.test"
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "dokku apps:rename $TEST_APP other-name"
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "dokku domains:report other-name --domains-app-vhosts"
echo "output: $output"
echo "status: $status"
assert_success
assert_output "other-name.dokku.me $TEST_APP.dokku.test"
run /bin/bash -c "dokku apps:rename other-name $TEST_APP"
echo "output: $output"
echo "status: $status"
assert_success
}