Nous allons vous présenter comment vous pouvez démarrer le développement d'applications Web facilement et rapidement en utilisant les deux éléments suivants. L'objectif est de 4 minutes et 33 secondes entre le début du développement et la sortie.
En fait, je ne pense pas qu'il soit nécessaire qu'une demande * soit publiée immédiatement * dans les 4 minutes et 33 secondes après la réunion. Cependant, pouvoir déployer en 4 minutes et 33 secondes est la preuve que les obstacles au développement Web diminuent régulièrement, et je pense qu'il est important d'avoir ce sentiment avec le code.
Ce que vous pouvez comprendre en lisant cet article
Les éléments suivants doivent être installés.
Le minimum
Si vous ne voulez pas polluer l'environnement global Python
$ mkdir agile-dev
$ cd agile-dev
$ git init
$ pyenv virtualenv 2.7.9 agile-dev #Tout
$ pyenv local agile-dev #Tout
Installation de bibliothèques et implémentation d'applications nécessaires au développement. Au fait, le contenu de ʻapp.py` est Recipes - Bottle 0.13-dev documentation-, Donc je ne fais que copier ici.
$ pip install bottle
app.py
import os
from bottle import route, run
@route("/")
def hello_world():
return "Hello World!"
run(host="0.0.0.0", port=int(os.environ.get("PORT", 5000)))
$ pip freeze > requirements.txt #Liste des bibliothèques dépendantes
$ echo web: python app.py > Procfile #Type d'application et spécification du point d'entrée
C'est la fin du développement, donc je vais l'engager.
$ git add .
$ git commit -m "initial commit"
Je le publierai immédiatement.
$ heroku apps:create agile-dev
$ git push heroku master
Lorsque remote: Verifying deploy ... done.
est renvoyé comme résultat de l'exécution de la commande, le déploiement est terminé, alors vérifions-le avec un navigateur. L'URL de publication doit être affichée dans le terminal.
remote: https://agile-dev.herokuapp.com/ deployed to Heroku
$ open https://agile-dev.herokuapp.com/
Il a été publié en toute sécurité!
Comparaison des résultats de l'exécution de la commande date
avant et après le début du travail ... ** 3 minutes 54 secondes **.
Il s'est terminé en moins de 4 minutes et 33 secondes.
macbook-pro:~ ohbarye$ date
Mercredi 29 avril 2015 15:40:49 JST
~~ (abrégé) ~~
macbook-pro:agile-dev ohbarye$ date
Mercredi 29 avril 2015 15:44:43 JST
Nettoyez-le et remettez-le en place.
$ heroku apps:destroy --app agile-dev --confirm agile-dev
$ pyenv uninstall agile-dev
$ cd ../
$ rm -rf agile-dev
Au fait, c'était ** 1 minute 8 secondes **, donc un peu plus de 5 minutes au total.
Je vais le coller pour référence.
Développement-déployer
macbook-pro:~ ohbarye$ date
Mercredi 29 avril 2015 15:40:49 JST
macbook-pro:~ ohbarye$ mkdir agile-dev
macbook-pro:~ ohbarye$ cd agile-dev
macbook-pro:agile-dev ohbarye$ git init
Initialized empty Git repository in /Users/ohbarye/dev/~/agile-dev/.git/
macbook-pro:agile-dev ohbarye$ pyenv virtualenv 2.7.9 agile-dev
New python executable in /Users/ohbarye/.pyenv/versions/agile-dev/bin/python2.7
Also creating executable in /Users/ohbarye/.pyenv/versions/agile-dev/bin/python
Installing setuptools, pip...done.
Ignoring indexes: https://pypi.python.org/simple/
Requirement already satisfied (use --upgrade to upgrade): setuptools in /Users/ohbarye/.pyenv/versions/agile-dev/lib/python2.7/site-packages
Requirement already satisfied (use --upgrade to upgrade): pip in /Users/ohbarye/.pyenv/versions/agile-dev/lib/python2.7/site-packages
Cleaning up...
macbook-pro:agile-dev ohbarye$ pyenv local agile-dev
macbook-pro:agile-dev ohbarye$ pip install bottle
Collecting bottle
Using cached bottle-0.12.8.tar.gz
Installing collected packages: bottle
Running setup.py install for bottle
Successfully installed bottle-0.12.8
macbook-pro:agile-dev ohbarye$ vim app.py
macbook-pro:agile-dev ohbarye$ pip freeze > requirements.txt
macbook-pro:agile-dev ohbarye$ echo web: python app.py > Procfile
macbook-pro:agile-dev ohbarye$ git add .
macbook-pro:agile-dev ohbarye$ git commit -m "initial commit"
[master (root-commit) f213a06] initial commit
4 files changed, 11 insertions(+)
create mode 100644 .python-version
create mode 100644 Procfile
create mode 100644 app.py
create mode 100644 requirements.txt
macbook-pro:agile-dev ohbarye$ heroku apps:create agile-dev
Creating agile-dev... done, stack is cedar-14
https://agile-dev.herokuapp.com/ | https://git.heroku.com/agile-dev.git
Git remote heroku added
macbook-pro:agile-dev ohbarye$ git push heroku master
Counting objects: 6, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (6/6), 518 bytes | 0 bytes/s, done.
Total 6 (delta 0), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Python app detected
remote: -----> Installing runtime (python-2.7.9)
remote: -----> Installing dependencies with pip
remote: Collecting bottle==0.12.8 (from -r requirements.txt (line 1))
remote: Downloading bottle-0.12.8.tar.gz (69kB)
remote: Installing collected packages: bottle
remote: Running setup.py install for bottle
remote: changing mode of build/scripts-2.7/bottle.py from 600 to 755
remote: changing mode of /app/.heroku/python/bin/bottle.py to 755
remote: Successfully installed bottle-0.12.8
remote:
remote: -----> Discovering process types
remote: Procfile declares types -> web
remote:
remote: -----> Compressing... done, 35.1MB
remote: -----> Launching... done, v3
remote: https://agile-dev.herokuapp.com/ deployed to Heroku
remote:
remote: Verifying deploy... done.
To https://git.heroku.com/agile-dev.git
* [new branch] master -> master
macbook-pro:agile-dev ohbarye$ open https://agile-dev.herokuapp.com/
macbook-pro:agile-dev ohbarye$ date
Mercredi 29 avril 2015 15:44:43 JST
macbook-pro:agile-dev ohbarye$
Nettoyer
macbook-pro:agile-dev ohbarye$ date
Mercredi 29 avril 2015 15:49:11 JST
macbook-pro:agile-dev ohbarye$ heroku apps:destroy --app agile-dev --confirm agile-dev
Destroying agile-dev (including all add-ons)... done
macbook-pro:agile-dev ohbarye$ pyenv uninstall agile-dev
pyenv: remove /Users/ohbarye/.pyenv/versions/agile-dev? y
macbook-pro:agile-dev ohbarye$ cd ../
macbook-pro:~ ohbarye$ rm -rf agile-dev/
macbook-pro:~ ohbarye$ date
Mercredi 29 avril 2015 15:50:19 JST
macbook-pro:~ ohbarye$
Recommended Posts