mirror of
https://github.com/dokku/dokku.git
synced 2026-02-24 04:00:36 +01:00
fix: ensure we can deploy code when there is no pre or post-deploy script defined
Closes #3385
This commit is contained in:
@@ -28,7 +28,7 @@ get_release_cmd() {
|
||||
extract_procfile "$APP" "$IMAGE_TAG" >/dev/null
|
||||
trap 'remove_procfile $APP' RETURN INT TERM EXIT
|
||||
|
||||
get_cmd_from_procfile "$APP" "release" "5000" || true
|
||||
get_cmd_from_procfile "$APP" "release" "5000"
|
||||
}
|
||||
|
||||
execute_script() {
|
||||
@@ -38,9 +38,9 @@ execute_script() {
|
||||
|
||||
IMAGE=$(get_deploying_app_image_name "$APP" "$IMAGE_TAG")
|
||||
if [[ "$PHASE_SCRIPT_KEY" == "release" ]]; then
|
||||
SCRIPT_CMD=$(get_release_cmd "$APP" "$IMAGE" 2>/dev/null)
|
||||
SCRIPT_CMD=$(get_release_cmd "$APP" "$IMAGE" 2>/dev/null || true)
|
||||
else
|
||||
SCRIPT_CMD=$(get_phase_script "$IMAGE" "$PHASE_SCRIPT_KEY" 2>/dev/null)
|
||||
SCRIPT_CMD=$(get_phase_script "$IMAGE" "$PHASE_SCRIPT_KEY" 2>/dev/null || true)
|
||||
fi
|
||||
|
||||
if [[ -z "$SCRIPT_CMD" ]]; then
|
||||
|
||||
5
tests/apps/nodejs-express-noappjson/CHECKS
Normal file
5
tests/apps/nodejs-express-noappjson/CHECKS
Normal file
@@ -0,0 +1,5 @@
|
||||
WAIT=2 # wait 2 seconds
|
||||
TIMEOUT=5 # set timeout to 5 seconds
|
||||
ATTEMPTS=2 # try 2 times
|
||||
|
||||
/ nodejs/express
|
||||
54
tests/apps/nodejs-express-noappjson/Procfile
Normal file
54
tests/apps/nodejs-express-noappjson/Procfile
Normal file
@@ -0,0 +1,54 @@
|
||||
###############################
|
||||
# DEVELOPMENT #
|
||||
###############################
|
||||
|
||||
# Procfile for development using the new threaded worker (scheduler, twitter stream and delayed job)
|
||||
cron: node worker.js
|
||||
web: node web.js # testing inline comment
|
||||
worker: node worker.js
|
||||
custom: echo -n
|
||||
release: touch /app/release.test
|
||||
|
||||
|
||||
# Old version with separate processes (use this if you have issues with the threaded version)
|
||||
# web: bundle exec rails server
|
||||
# schedule: bundle exec rails runner bin/schedule.rb
|
||||
# twitter: bundle exec rails runner bin/twitter_stream.rb
|
||||
# dj: bundle exec script/delayed_job run
|
||||
|
||||
###############################
|
||||
# PRODUCTION #
|
||||
###############################
|
||||
|
||||
# You need to copy or link config/unicorn.rb.example to config/unicorn.rb for both production versions.
|
||||
# Have a look at the deployment guides, if you want to set up huginn on your server:
|
||||
# https://github.com/cantino/huginn/doc
|
||||
|
||||
# Using the threaded worker (consumes less RAM but can run slower)
|
||||
# web: bundle exec unicorn -c config/unicorn.rb
|
||||
# jobs: bundle exec rails runner bin/threaded.rb
|
||||
|
||||
# Old version with separate processes (use this if you have issues with the threaded version)
|
||||
# web: bundle exec unicorn -c config/unicorn.rb
|
||||
# schedule: bundle exec rails runner bin/schedule.rb
|
||||
# twitter: bundle exec rails runner bin/twitter_stream.rb
|
||||
# dj: bundle exec script/delayed_job run
|
||||
|
||||
###############################
|
||||
# Multiple DelayedJob workers #
|
||||
###############################
|
||||
# Per default Huginn can just run one agent at a time. Using a lot of agents or calling slow
|
||||
# external services frequently might require more DelayedJob workers (an indicator for this is
|
||||
# a backlog in your 'Job Management' page).
|
||||
# Every uncommented line starts an additional DelayedJob worker. This works for development, production
|
||||
# and for the threaded and separate worker processes. Keep in mind one worker needs about 300MB of RAM.
|
||||
#
|
||||
#dj2: bundle exec script/delayed_job -i 2 run
|
||||
#dj3: bundle exec script/delayed_job -i 3 run
|
||||
#dj4: bundle exec script/delayed_job -i 4 run
|
||||
#dj5: bundle exec script/delayed_job -i 5 run
|
||||
#dj6: bundle exec script/delayed_job -i 6 run
|
||||
#dj7: bundle exec script/delayed_job -i 7 run
|
||||
#dj8: bundle exec script/delayed_job -i 8 run
|
||||
#dj9: bundle exec script/delayed_job -i 9 run
|
||||
#dj10: bundle exec script/delayed_job -i 10 run
|
||||
5
tests/apps/nodejs-express-noappjson/check_deploy
Executable file
5
tests/apps/nodejs-express-noappjson/check_deploy
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
output="$(curl -s -S "$1")"
|
||||
echo "$output"
|
||||
test "$output" == "nodejs/express"
|
||||
10
tests/apps/nodejs-express-noappjson/package.json
Normal file
10
tests/apps/nodejs-express-noappjson/package.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"name": "node-example",
|
||||
"version": "0.0.1",
|
||||
"dependencies": {
|
||||
"express": "2.5.x"
|
||||
},
|
||||
"engines": {
|
||||
"node": "4.2.x"
|
||||
}
|
||||
}
|
||||
12
tests/apps/nodejs-express-noappjson/web.js
Normal file
12
tests/apps/nodejs-express-noappjson/web.js
Normal file
@@ -0,0 +1,12 @@
|
||||
var express = require('express');
|
||||
|
||||
var app = express.createServer(express.logger());
|
||||
|
||||
app.get('/', function(request, response) {
|
||||
response.send('nodejs/express');
|
||||
});
|
||||
|
||||
var port = process.env.PORT || 5000;
|
||||
app.listen(port, function() {
|
||||
console.log("Listening on " + port);
|
||||
});
|
||||
6
tests/apps/nodejs-express-noappjson/worker.js
Normal file
6
tests/apps/nodejs-express-noappjson/worker.js
Normal file
@@ -0,0 +1,6 @@
|
||||
function worker() {
|
||||
console.log('sleeping for 60 seconds');
|
||||
setTimeout(worker, 60 * 1000);
|
||||
}
|
||||
|
||||
worker();
|
||||
@@ -17,7 +17,7 @@ teardown() {
|
||||
}
|
||||
|
||||
@test "(app-json) app.json scripts" {
|
||||
deploy_app
|
||||
deploy_app nodejs-express
|
||||
|
||||
run /bin/bash -c "dokku run $TEST_APP ls /app/prebuild.test"
|
||||
echo "output: $output"
|
||||
@@ -36,3 +36,11 @@ teardown() {
|
||||
echo "status: $status"
|
||||
assert_success
|
||||
}
|
||||
|
||||
|
||||
@test "(app-json) app.json scripts missing" {
|
||||
deploy_app nodejs-express-noappjson
|
||||
echo "output: $output"
|
||||
echo "status: $status"
|
||||
assert_success
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user