From 5821a949035a5e098a2c6b395818f5efa1c66f8e Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Tue, 22 Oct 2013 21:07:55 +0200 Subject: wip --- bin/appstore-init | 2 +- docs/Makefile | 0 hooks/post-receive | 27 +++++++++++++++++++------ test/data/my-webapp/app.config | 1 + test/data/my-webapp/root/app.js | 37 ----------------------------------- test/data/my-webapp/root/bin/app.js | 39 +++++++++++++++++++++++++++++++++++++ test/it.bats | 8 +++++--- 7 files changed, 67 insertions(+), 47 deletions(-) create mode 100644 docs/Makefile create mode 100644 test/data/my-webapp/app.config delete mode 100644 test/data/my-webapp/root/app.js create mode 100755 test/data/my-webapp/root/bin/app.js diff --git a/bin/appstore-init b/bin/appstore-init index cbbf0f7..92f6ab6 100755 --- a/bin/appstore-init +++ b/bin/appstore-init @@ -48,7 +48,7 @@ then fi echo "Cloning repository..." -git clone -q "$server:$repo_path" "$name" +git clone -q "ssh://$server$repo_path" "$name" cd $name git remote rename origin cloud cd .. diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000..e69de29 diff --git a/hooks/post-receive b/hooks/post-receive index a2835de..e0375c3 100755 --- a/hooks/post-receive +++ b/hooks/post-receive @@ -23,9 +23,12 @@ IFS=$'\t' csvtool -u TAB namedcol dir,resolver,resolver_args,version,state apps.csv | \ while read dir resolver resolver_args version state do + cd "$APPS" + if [ -d "$dir" ] then - cd $dir + cd "$dir" + dir=`pwd` old_version=$(app conf get app.version) if [[ $new_version == $old_version ]] @@ -36,20 +39,32 @@ do echo "Updating $dir to $version" app conf set app.version "$version" app update - cd .. else echo "New application: $dir" app init -d "$dir" "$resolver" "$resolver_args" + cd "$dir" + dir=`pwd` fi cd "$dir" if [[ $state == enabled ]] then - echo "Starting appliation" - app start + cmd=start + title="Starting" else - echo "Stopping appliation" - app stop + cmd=stop + title="Stopping" + fi + + echo "$title appliation" + set +e + app $cmd + ret=$? + set -e + + if [[ $ret != 0 ]] + then + echo "$cmd command failed." fi done unset IFS diff --git a/test/data/my-webapp/app.config b/test/data/my-webapp/app.config new file mode 100644 index 0000000..40cbaa0 --- /dev/null +++ b/test/data/my-webapp/app.config @@ -0,0 +1 @@ +app.bin=app.js diff --git a/test/data/my-webapp/root/app.js b/test/data/my-webapp/root/app.js deleted file mode 100644 index 29298b3..0000000 --- a/test/data/my-webapp/root/app.js +++ /dev/null @@ -1,37 +0,0 @@ -var http = require("http"), - url = require("url"), - path = require("path"), - fs = require("fs") - port = process.env.PORT || 8888; - -http.createServer(function(request, response) { - - var uri = url.parse(request.url).pathname - , filename = path.join(process.cwd(), uri); - - path.exists(filename, function(exists) { - if(!exists) { - response.writeHead(404, {"Content-Type": "text/plain"}); - response.write("404 Not Found\n"); - response.end(); - return; - } - - if (fs.statSync(filename).isDirectory()) filename += '/index.html'; - - fs.readFile(filename, "binary", function(err, file) { - if(err) { - response.writeHead(500, {"Content-Type": "text/plain"}); - response.write(err + "\n"); - response.end(); - return; - } - - response.writeHead(200); - response.write(file, "binary"); - response.end(); - }); - }); -}).listen(parseInt(port, 10)); - -console.log("Static file server running at\n => http://localhost:" + port + "/\nCTRL + C to shutdown"); diff --git a/test/data/my-webapp/root/bin/app.js b/test/data/my-webapp/root/bin/app.js new file mode 100755 index 0000000..992a701 --- /dev/null +++ b/test/data/my-webapp/root/bin/app.js @@ -0,0 +1,39 @@ +#!/usr/bin/env nodejs + +var http = require("http"), + url = require("url"), + path = require("path"), + fs = require("fs") + port = process.env.PORT || 8888; + +http.createServer(function(request, response) { + + var uri = url.parse(request.url).pathname + , filename = path.join(process.cwd(), uri); + + path.exists(filename, function(exists) { + if(!exists) { + response.writeHead(404, {"Content-Type": "text/plain"}); + response.write("404 Not Found\n"); + response.end(); + return; + } + + if (fs.statSync(filename).isDirectory()) filename += '/index.html'; + + fs.readFile(filename, "binary", function(err, file) { + if(err) { + response.writeHead(500, {"Content-Type": "text/plain"}); + response.write(err + "\n"); + response.end(); + return; + } + + response.writeHead(200); + response.write(file, "binary"); + response.end(); + }); + }); +}).listen(parseInt(port, 10)); + +console.log("Static file server running at\n => http://localhost:" + port + "/\nCTRL + C to shutdown"); diff --git a/test/it.bats b/test/it.bats index d594049..406d5fc 100644 --- a/test/it.bats +++ b/test/it.bats @@ -6,7 +6,7 @@ load utils @test "Happy day" { mkzip my-webapp install_artifact "my-webapp" - install_artifact "my-webapp" 1.0 +# install_artifact "my-webapp" 1.0 cd $BATS_TMPDIR cd appstore @@ -20,9 +20,11 @@ load utils git config user.name "Test Case" git config user.email tester@example.org - echo "app-1,maven,org.example:app-a:1.0-SNAPSHOT,1.0-SNAPSHOT,enabled" >> apps.csv + echo "frontend,maven,org.example:my-webapp:1.0-SNAPSHOT,1.0-SNAPSHOT,enabled" >> apps.csv + echo "backend,maven,org.example:my-webapp:1.0-SNAPSHOT,1.0-SNAPSHOT,enabled" >> apps.csv + echo "left,maven,org.example:my-webapp:1.0-SNAPSHOT,1.0-SNAPSHOT,disabled" >> apps.csv git commit -m "o Adding app-1." -a git push cloud master - eq "ssh://localhost$BATS_TMPDIR/appstore/server/mysetup" `git config remote.cloud.url` + eq "ssh://localhost$BATS_TMPDIR/appstore/server/repos/mysetup" `git config remote.cloud.url` eq 1 2 } -- cgit v1.2.3