Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Basic Deployment techtalk
Search
Bernard Grymonpon
March 27, 2012
Technology
830
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Basic Deployment techtalk
Techtalk over basis deployment met SSH-keys en Capistrano
Bernard Grymonpon
March 27, 2012
More Decks by Bernard Grymonpon
See All by Bernard Grymonpon
Techtalk: beveiligde verbindingen
wonko
0
480
MySQL techtalk
wonko
0
610
Metrics & Dashboards
wonko
0
460
Varnish
wonko
0
160
Vagrant en Sneakers
wonko
0
590
Techtalk: DNS & domeinen
wonko
1
330
Arrrrcamp 2012: Testing Chef
wonko
1
510
New Relic Techtalk
wonko
1
730
DrupalCamp Ghent 2012
wonko
1
650
Other Decks in Technology
See All in Technology
複雑な業務システムを高速でつくるため、チーム全員をつくれる人へ
ayakurabuchi
0
140
AI時代に求められる優秀なTechLeadの振る舞い
pospome
11
15k
内製アプリとClaudeスキルのセキュリティチェック、 Backlogの課題で回しています。
ayaka_egaaa
0
150
基本から分かる!AWSセキュリティ運用の考え方と任せ方
cmusudakeisuke
1
450
Metadata - Section 3 : Dublin Core Standard · DC
mohab1
0
110
DBTS2026 盛り上がってますか!?Databricksが実現するAI時代のデータ基盤
akuwano
1
190
re:Invent2026 事前勉強会 歴史と愉しみ方10分LT編
toshi_atsumi
0
150
Kiro IDE 入門 (画面の各部から、頼み方、任せ方、戻し方まで) | 目指せ Kiro マスター 02
inariku
PRO
3
100
攻撃 3 時間 vs 復旧 10 時間。アクセスキー流出の非対称性を体感するために CTF を作った話
kazzpapa3
1
160
FinOpsを導入してマルチプロダクトのコスト最適化を実現する
kworkdev
PRO
0
140
Context Ontology Accelerator 入門 (業務データの意味を、AI エージェントに渡す)
inariku
PRO
3
520
「AIチャットからもできないの?」と言われたら ~業務アプリをMCP対応するときの認証・認可の勘所
oidfj
0
130
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
570
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
Technical Leadership for Architectural Decision Making
baasie
3
640
Discover your Explorer Soul
emna__ayadi
2
1.3k
WENDY [Excerpt]
tessaabrams
14
40k
4 Signs Your Business is Dying
shpigford
187
23k
Accessibility Awareness
sabderemane
1
290
The Pragmatic Product Professional
lauravandoore
37
7.5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.6k
Transcript
Site deployment basics Openminds techtalk - 21/03/2012 @openminds www.openminds.be Tuesday
27 March 2012
Deployments Deployments vereenvoudigen met ssh, git en capistrano Tuesday 27
March 2012
Deployment Stappenplan voor het updaten van een site Tuesday 27
March 2012
Klassiek scenario •(backup nemen voor we beginnen?) •FTP: files uploaden
•PHPMyAdmin: enkele queries/changes/... •Surfen naar de site... Tuesday 27 March 2012
Problemen •Kans op fouten •Oude files / backups ... •Niet
iedereen kan deployen Tuesday 27 March 2012
Files •Data files (uploads, pdf, cache ...) •Programma files (php,
css, js ...) •Configuratie files (settings.php, database.yml ...) Tuesday 27 March 2012
Ideaal scenario •kopie van huidige/werkende site •nieuwe programmatuur binnenhalen •“updates”
draaien (DB, structuur) •zonder data files te overschrijven/ dupliceren •bij problemen: rollback Tuesday 27 March 2012
Kopie/backup •Bijhouden van “releases” •“current” is de actieve release •data/config
via symlinks/kopies binnen de release brengen •rollback eenvoudig Tuesday 27 March 2012
Update programma •code in versie-controle-systeem (git, svn...) •checkout van een
tag/release/versie Tuesday 27 March 2012
Update data •Moeilijk punt •Afhankelijk van beschikbare tools •db-migraties •upgrade-scripts
•wat bij rollback? Tuesday 27 March 2012
SSH Public en private keys, agents en forwarding Tuesday 27
March 2012
SSH keypair •identiteitskaart van jezelf •publiek en privaat deel •passphrase
ter bescherming •maken met ssh-keygen •één keer in een leven!!! Tuesday 27 March 2012
SSH key login •Publiek deel bij de hosting •Privaat deel
van u •Privaat deel gecontroleerd met een publiek deel op de hosting: login toegelaten •Meerdere publieke delen per hosting Tuesday 27 March 2012
publiek deel •Mag je op je site openbaar zetten •in
“.ssh/authorized_keys” waar je wil inloggen •in webinterfaces (bvb github) Tuesday 27 March 2012
Pri Pub Keypair Laptop Server Github Machines Tuesday 27 March
2012
SSH agent •“aanbieden van privaat deel” •daemon op je systeem
die je key kent •doorgeven van authenticatie-verzoeken van daemon naar daemon Tuesday 27 March 2012
Key in agent •ssh-add -l •ssh-add -K (mac os X)
Tuesday 27 March 2012
Laptop Server Pri Pub Paswoordloze login Tuesday 27 March 2012
Laptop Server Pri Pub Paswoordloze login mogelijk Paswoordloze login Tuesday
27 March 2012
Laptop Server Pri Pub Paswoordloze login mogelijk Github Pub Paswoordloze
login Tuesday 27 March 2012
Laptop Server Pri Pub Paswoordloze login mogelijk Hier niet meer
Github Pub Paswoordloze login Tuesday 27 March 2012
Agent forwarding •in .ssh/config Tuesday 27 March 2012
Laptop Server Github Pri Pub Pub Met agent forwarding Tuesday
27 March 2012
Paswoordloze login mogelijk Laptop Server Github Pri Pub Pub Met
agent forwarding Tuesday 27 March 2012
Paswoordloze login mogelijk Laptop Server Github Pri Pub Pub Met
agent forwarding Pri Tuesday 27 March 2012
Paswoordloze login mogelijk Laptop Server Github Pri Pub Pub Met
agent forwarding Pri Paswoordloze login mogelijk Tuesday 27 March 2012
Windows •Putty is de de-facto standaard •putty is eigenlijk ssh
•pagent is de agent (daemon) •puttygen maakt een nieuwe key http://www.chiark.greenend.org.uk/~sgtatham/putty/ download.html Tuesday 27 March 2012
Capistrano Automatiseren van je stappenplan Tuesday 27 March 2012
Capistrano •Origineel tool om rails te deployen •Vandaag tool om
set van taken uit te voeren op remote servers •Gemaakt in Ruby, eenvoudige dependencies, is een gem https://github.com/capistrano/capistrano#readme Tuesday 27 March 2012
Capfile •een file per project •taken in de file •roles
(eigenlijk servers) Tuesday 27 March 2012
Eenvoudige capfile desc "Echo the server's hostname" task :echo_hostname do
run "echo `hostname`" end Tuesday 27 March 2012
Rails deployment Capistrano waarvoor het gemaakt werd Een eenvoudige demo
Tuesday 27 March 2012
“Hello server!” Een eenvoudig capistrano recept Tuesday 27 March 2012
Voorbereiding •public key in .ssh/authorized_keys op de hosting •site-code op
github/centraal/... •capify in je source-tree Tuesday 27 March 2012
capify . •Maakt een Capfile •Maakt een config/deploy.rb •Deze mogen
(moeten) mee in je repository Tuesday 27 March 2012
cap deploy:setup •Directory layout opbouwen •Shared / releases / ...
Tuesday 27 March 2012
cap deploy •Op de server: nieuwe code uitchecken van github
•In de nieuwe checkout - data mappen en config files op hun plaats zetten/linken Tuesday 27 March 2012
“simple” demo Tuesday 27 March 2012
Drupal Lang leve drush! Tuesday 27 March 2012
Drupal •settings.php is config (rest in DB) •Drush kan helpen
met bvb update.php •files-map is shared •Meerdere branches is handig (drupal, modules, ...) Tuesday 27 March 2012
Drupal voorbeeld Tuesday 27 March 2012
Meer! Tuesday 27 March 2012
Multi-stage cap production deploy cap staging deploy Tuesday 27 March
2012
Multi-server role :web “web1”, “web2”, “web3” Tuesday 27 March 2012
Gateway Wanneer je achter een firewall zit... Tuesday 27 March
2012
Wordpress http://theme.fm/2011/08/tutorial-deploying- wordpress-with-capistrano-2082/ Tuesday 27 March 2012
ForkCMS https://github.com/sumocoders/forkcms_3_deploy Tuesday 27 March 2012
CakePHP https://github.com/jadb/capcake Tuesday 27 March 2012
Symfony http://symphony-cms.com/discuss/thread/51667/ of https://github.com/makenosound/symphony- capistrano Tuesday 27 March 2012
Zend Framework http://www.codewithstyle.eu/2011/05/03/deploying- zend-framework-applications-using-capistrano/ Tuesday 27 March 2012
Q&A En hierna drank en broodjes... Tuesday 27 March 2012