Skip to content

Instantly share code, notes, and snippets.

@renatoagomes
Created October 30, 2019 00:55
Show Gist options
  • Save renatoagomes/46b8df8f6044f33f26591e0e1269f615 to your computer and use it in GitHub Desktop.
Save renatoagomes/46b8df8f6044f33f26591e0e1269f615 to your computer and use it in GitHub Desktop.
Deploy Reveal.js slide to Heroku

Usado para criar os apps a partir das URL's de cada repositório do git no arquivo heroku-hosting

for n in $(cat heroku-hosting)
do
        #pega nome do repositorio
        nomeRepositorio=$(echo "$n" | grep "(\/).*$" -oP | sed -s 's/\///')

        git clone $n slide
        cd slide

        #altera Gruntfile para usar da variavel ambiente process.env.PORT
        sed -i "s/grunt.option('port')/process.env.PORT/" Gruntfile.js

        #altera node engine para v8.10 (que nao crasha o node-sass)
        sed -i "s/>=4.0.0/8.10/" package.json

        git add .
        git commit -m "ajustes para hostear no Heroku"
        git push origin master
        
        heroku create
        heroku apps:rename $nomeRepositorio

        git push heroku master
        
        cd ..
        rm -rf slide
done

Usado para atualizar dependencias e 'servir' o site com o express:

for appName in $(cat heroku_apps)
do
        echo $appName

        heroku git:clone -a $appName 
        cd $appName

        sed -e '29i"morgan": "^1.9.1", ' -i package.json 

        echo "web: node web.js" > Procfile

        echo 'var express = require("express");' > web.js
        echo 'var logger = require("morgan");' >> web.js
        echo 'var app = express();' >> web.js
        echo 'app.use(logger("dev"));' >> web.js
        echo 'app.use("/", express.static(__dirname));' >> web.js
        echo '' >> web.js
        echo 'var port = process.env.PORT || 5000;' >> web.js
        echo 'app.listen(port, function() {' >> web.js
        echo '  console.log("Listening on " + port);' >> web.js
        echo '});' >> web.js

        git add .
        git commit -m "ajustes para hostear no Heroku 5"
        git push heroku master -f

        cd ..
done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment