praekelt.recipe.deploy is een buildout recept maken geversioneerd afstandsbediening zet triviaal.
Maakt een bin / script waarmee u gemakkelijk buildouts om externe servers te implementeren. Gebruikt Fabric te communiceren en opdrachten uitvoeren op externe servers.
Opmerking: Dit recept is onder actieve ontwikkeling en is niet volledig getest in een productieomgeving. Gebruik op eigen risico.
Het implementeren proces verloopt als volgt:
& Nbsp; 1. Het externe machine als omschreven in ontvangst wordt geopend.
& Nbsp; 2. Een nieuwe release pad structuur wordt gemaakt met dit patroon:
& Nbsp; 3. Het git repo zoals gespecificeerd in git_url wordt gekloond.
& Nbsp; 4. Tak De nieuw gekloonde repo's wordt overgeschakeld naar de vestiging zoals gespecificeerd in git_branch. Als git_branch niet is opgegeven geen schakelaar optreedt
& Nbsp; 5. Gedeelde bronnen zoals bedoeld in shared_resources worden gekopieerd van de huidige versie (indien aanwezig) naar de nieuwe release.
& Nbsp; 6. De Buildout's boostrap.py wordt uitgevoerd met behulp van de python uitvoerbare zoals gespecificeerd in python_exec en een Buildout configuratiebestand zoals gespecificeerd in conf_file. python wordt standaard gebruikt als python_exec niet is opgegeven, wordt buildout.cfg standaard gebruikt als conf_file niet is opgegeven.
& Nbsp; 7. De Buildout wordt uitgevoerd met behulp van een Buildout configuratiebestand zoals gespecificeerd in conf_file. buildout.cfg wordt standaard gebruikt als conf_file niet is opgegeven.
& Nbsp; 8. De
& Nbsp; 9. Supervisor wordt bijgewerkt ($ supervisorctl update) als update_supervisor wordt gespecificeerd als True.
& Nbsp; 10. Elke opdracht aangegeven in initd_commands wordt uitgevoerd in orde.
Gebruik:
Voeg een rol in buildout.cfg als volgt:
[Buildout]
delen = implementeren
[Implementeren]
recept = praekelt.recipe.deploy
git_url = git@github.com: me / projectx.git
hosten = www.protectx.com
root_path = / var / www / ProjectX
Het uitvoeren van de buildout zal implementeren script toe te voegen met dezelfde naam als uw deploy deel aan de bin / directory. In dit geval bin / implementeren. De resulterende script zal inzetten git@github.com: me / projectx.git naar www.projectx.com's / var / www / ProjectX pad.
Opties
as_user
& Nbsp; gebruiker als die aan het implementeren voeren. Gebruikt om setup permissies adequaat en te klonen van GitHub. Standaard 'www-data'.
conf_file
& Nbsp; Buildout cfg bestand waarmee bootstrap en buildout draaien. Standaard 'buildout.cfg'.
deploy_key_path
& Nbsp; Pad op host sleutel te gebruiken wanneer het klonen van de repo.
git_branch
& Nbsp; Git repo tak waarmee het implementeren voeren.
git_url
& Nbsp; Git repo waarmee het implementeren voeren. Vereist.
gastheer
& Nbsp; hostnaam waarop in te zetten uit te voeren. Vereist.
initd_commands
& Nbsp; init.d commando's uit te voeren na een voltooide implementeren. dat wil zeggen, nginx restart.
python_exec
& Nbsp; Python commando waarmee bootstrap Buildout. Standaard 'python'.
root_path
& Nbsp; Root pad waarin het implementeren voeren. huidige / release pad structuur zal worden gecreëerd binnen dit pad. Vereist.
shared_resources
& Nbsp; Resource paden te kopiëren overkant van de huidige release van de nieuwe release op elk implementeren.
update_supervisor
& Nbsp; Het al dan niet supervisor werken. Standaard op 'False'.
Volledig Voorbeeld
Het volgende voorbeeld illustreert alle beschikbare opties:
[Buildout]
delen = implementeren
[Implementeren]
recept = praekelt.recipe.deploy
as_user = www-data
conf_file = production.cfg
deploy_key_path = /var/www/.ssh/projectx_deploy_key
git_branch = productie
git_url = git@github.com: me / projectx.git
hosten = www.protectx.com
initd_commands = nginx restart
python_exec = python2.5
root_path = / var / www / ProjectX
shared_resources =
& Nbsp; eieren
& Nbsp; downloads
& Nbsp; log
& Nbsp; media
update_supervisor = True
De resulterende script zal git@github.com implementeren: me / projectx.git productie bijkantoor www.projectx.com's / var / www / ProjectX pad als gebruiker www-data. De git repo zal worden gekloond met /var/www/.ssh/projectx_deploy_key als ssh key. De eieren, downloads, log en media paden van de huidige release van deze nieuwe release worden gekopieerd. De buildout omgeving zal worden gemaakt met behulp python2.5 en uitgevoerd met behulp van production.cfg als configuratiebestand. Na de buildout voltooid supervisor zal worden bijgewerkt en /etc/init.d/nginx herstart zal worden geleid
Wat is nieuw in deze release:.
- Meer forcefull supervisor-update.
Wat is nieuw in versie 0.1.2:.
- Laat supervisorctl commando's
Wat is nieuw in versie 0.1.1:.
- Toegevoegd command line git creds levering
Wat is nieuw in versie 0.1.0:.
- deploy_latest_tag optie toegevoegd
- Fail op init.d kwesties.
Wat is nieuw in versie 0.0.9:.
- Opgelost apply.pp bug
Wat is nieuw in versie 0.0.7:.
- Toegevoegd commando env wachtwoord optie
- Toegevoegd kracht commandline optie omzeilen bevestiging prompts.
Wat is nieuw in versie 0.0.6:.
- Ondersteuning voor https git urls
Wat is nieuw in versie 0.0.5:.
- Toegevoegd nieuwste en uitgebreide opties
Wat is nieuw in versie 0.0.3:
- Toegevoegd cron_commands parameter. Sta voor bepaalde script argument overrides.
Eisen
- Python
Reacties niet gevonden