Wir werden Ihnen vorstellen, wie Sie mit den folgenden beiden Methoden einfach und schnell mit der Entwicklung von Webanwendungen beginnen können. Das Ziel ist 4 Minuten und 33 Sekunden vom Beginn der Entwicklung bis zur Veröffentlichung.
Eigentlich glaube ich nicht, dass eine Anfrage * sofort * innerhalb von 4 Minuten und 33 Sekunden nach dem Treffen veröffentlicht werden muss. Die Bereitstellung in 4 Minuten und 33 Sekunden ist jedoch ein Beweis dafür, dass die Hürden für die Webentwicklung stetig sinken, und ich denke, es ist wichtig, dieses Gefühl mit dem Code zu haben.
Was Sie verstehen können, wenn Sie diesen Artikel lesen
Folgendes muss installiert sein.
Minimum
Wenn Sie die globale Python-Umgebung nicht verschmutzen möchten
$ mkdir agile-dev
$ cd agile-dev
$ git init
$ pyenv virtualenv 2.7.9 agile-dev #Irgendein
$ pyenv local agile-dev #Irgendein
Installation von Bibliotheken und Anwendungsimplementierung für die Entwicklung erforderlich.
Der Inhalt von app.py
ist übrigens Rezepte - Flasche 0.13-dev Dokumentation-, Also kopiere ich nur hier.
$ 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 der abhängigen Bibliotheken
$ echo web: python app.py > Procfile #Anwendungstyp und Einstiegspunktspezifikation
Dies ist das Ende der Entwicklung, also werde ich es begehen.
$ git add .
$ git commit -m "initial commit"
Ich werde es sofort veröffentlichen.
$ heroku apps:create agile-dev
$ git push heroku master
Wenn "remote: Überprüfung der Bereitstellung ... abgeschlossen" als Ergebnis der Befehlsausführung zurückgegeben wird, ist die Bereitstellung abgeschlossen. Überprüfen Sie dies also mit einem Browser. Die Veröffentlichungs-URL sollte im Terminal angezeigt werden.
remote: https://agile-dev.herokuapp.com/ deployed to Heroku
$ open https://agile-dev.herokuapp.com/
Es wurde sicher veröffentlicht!
Vergleich der Ergebnisse der Ausführung des Befehls "Datum" vor und nach Arbeitsbeginn ... ** 3 Minuten 54 Sekunden **. Es endete kürzer als 4 Minuten und 33 Sekunden.
macbook-pro:~ ohbarye$ date
Mittwoch, 29. April 2015, 15:40:49 Uhr JST
~~ (Abkürzung) ~~
macbook-pro:agile-dev ohbarye$ date
Mittwoch, 29. April 2015, 15:44:43 Uhr JST
Reinigen Sie es und setzen Sie es wieder ein.
$ heroku apps:destroy --app agile-dev --confirm agile-dev
$ pyenv uninstall agile-dev
$ cd ../
$ rm -rf agile-dev
Übrigens waren es ** 1 Minute 8 Sekunden **, also insgesamt etwas mehr als 5 Minuten.
Ich werde es als Referenz einfügen.
Entwicklungsbereitstellung
macbook-pro:~ ohbarye$ date
Mittwoch, 29. April 2015, 15:40:49 Uhr 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
Mittwoch, 29. April 2015, 15:44:43 Uhr JST
macbook-pro:agile-dev ohbarye$
Aufräumen
macbook-pro:agile-dev ohbarye$ date
Mittwoch, 29. April 2015, 15:49:11 Uhr 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
Mittwoch, 29. April 2015, 15:50:19 Uhr JST
macbook-pro:~ ohbarye$
Recommended Posts