Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Buildout
Search
Radim Novotný
October 25, 2012
Programming
230
1
Share
Buildout
Radim Novotný
October 25, 2012
Other Decks in Programming
See All in Programming
tRPCの概要と少しだけパフォーマンス
misoton665
2
180
事業会社でのセキュリティ長期インターンについて
masachikaura
0
250
書籍「ユーザーストーリーマッピング」が私のバイブル
asumikam
3
290
飯MCP
yusukebe
0
510
Kingdom of the Machine
yui_knk
1
100
アクセシビリティ試験の"その後"を仕組み化する
yuuumiravy
0
140
iOS機能開発のAI環境と起きた変化
ryunakayama
0
180
ローカルで稼働するAI エージェントを超えて / beyond-local-ai-agents
gawa
3
270
Claude Codeをカスタムして自分だけのClaude Codeを作ろう
terisuke
0
130
Swift Concurrency Type System
inamiy
0
510
PHPで TLSのプロトコルを実装してみるをもう一度しゃべりたい
higaki_program
0
200
Radical Imagining - LIFT 2025-2027 Policy Agenda
lift1998
0
310
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
The Pragmatic Product Professional
lauravandoore
37
7.2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.8k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
KATA
mclloyd
PRO
35
15k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
180
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
400
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
120
How to make the Groovebox
asonas
2
2.1k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
WCS-LA-2024
lcolladotor
0
540
The Mindset for Success: Future Career Progression
greggifford
PRO
0
310
Transcript
Buildout Radim Novotný PyVo 25.10.2012
Co je to buildout? • zc.buildout (od r. 2006) •
opakovatelný deployment • nejen python • izolované prostředí na fs • rozšiřitelnost http://www.buildout.org
Syntaxe [buildout] parts = pokus [pokus] recipe = zc.recipe.egg interpreter
= mypython eggs = odict
Jak na to • wget http://svn.zope.org/repos/main/zc.buildout/ trunk/bootstrap/bootstrap.py • edit buildout.cfg
• python bootstrap.py • bin/buildout
Recipes • djangorecipe, fez.djangoskel • z3c.recipe.ldap • collective.recipe.patch • collective.recipe.omelette
http://www.buildout.org/docs/recipelist.html PyPI – hledat „recipe“
Příklady použití • https://github.com/plone/buildout.coredev • https://github.com/collective/ buildout.python • https://github.com/diefenbach/ lfs-buildout-development
• http://code.google.com/p/typhoonae/source/ browse/buildout.cfg (memcache, nginx, mongodb, rabbitmq, celery, sphinx, ejabberd, ...)
Minimal Plone buildout [buildout] parts = instance extends = http://dist.plone.org/release/4.1-
latest/versions.cfg find-links = http://dist.repoze.org/ [instance] recipe = plone.recipe.zope2instance eggs = Plone PIL collective.gallery
Plone • wget bootstrap.py • python2.6 bootstrap.py • bin/buildout •
<zadat admin username/password> • bin/instance fg • http://127.0.0.1:8080
Deployment • buildout.cfg a jeho závislosti jsou jediné opravdu důležité
soubory pro deployment • na serveru – git clone/svn checkout – ln -s deployment.cfg buildout.cfg – python bootstrap.py – bin/buildout
BAF Jakub Vysoký - https://github.com/kvbik/python-baf
BAF [buildout] extensions = mr.developer parts = pybaf [sources] baf
= git https://github.com/kvbik/python-baf [pybaf] recipe = zc.recipe.egg interpreter = pybaf eggs = baf
# bin/pybaf >>> import baf >>> baf.__version__ (1, 0) #
bin/baf an example packaging layout see https://github.com/kvbik/python-baf for more version = 1.0 BAF
BAF bin/develop checkout baf bin/buildout -N • nyní bin/baf i
bin/pybaf používají clone z src/baf bin/develop deactivate baf bin/buildout -N • bin/baf a bin/pybaf – egg z PyPI
Závěr ✗ složitější setup než virtualenv (bootstrap.py) ✔ vhodné na
větší, složitější projekty ✔ izolované prostředí ✔ možné použít nejen pro Python packages (Python, SOLR, Apache, Varnish, SQL, Jenkins, supervisor, selenium, ...)
One more thing...
jarn.mkrelease • Python releaser • commit/tag git, svn, hg •
upload na PyPI, sftp, plone.org nebo jen vytvoření egg/zip • release zip, egg • http://pypi.python.org/pypi/jarn.mkrelease
jarn.mkrelease # cd src/baf # mkrelease -qCTS (no-commit, no-tag, no-upload)
Releasing baf 1.0 running egg_info running sdist done # ls dist/ baf-1.0.zip
Děkuji
[email protected]
/python-cs
[email protected]
@narocz