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
[deSymfony] Trovit Deployment pipeline
Search
albertplaya
September 16, 2016
Technology
460
0
Share
[deSymfony] Trovit Deployment pipeline
Trovit Deployment pipeline using ansible and jenkins pipeline
albertplaya
September 16, 2016
Other Decks in Technology
See All in Technology
TROCCOで始めるクラウドコストを民主化するためのFinOps
tk3fftk
3
560
形式手法特論:公平性制約の位相的特徴づけ #kernelvm / Kernel VM Study Kansai 12th
ytaka23
1
710
AIガバナンス実践 - 生成AIコネクタのデータ漏洩リスクと実務対策
knishioka
0
170
AI駆動開発が変える、大規模開発の前提 ーHuman in the Loop から Human on the Loop へ / AIE2026
visional_engineering_and_design
2
2.2k
Diagnosing performance problems without the guesswork
elenatanasoiu
0
160
Strands Agents超入門
kintotechdev
1
160
サプライチェーンセキュリティの空白地帯 - 信頼できる”依存性”の未来を考える
rung
PRO
2
650
Dynamic Workersについて
yusukebe
2
580
Databricks 月刊サービスアップデート 2026年05月号
tyosi1212
0
200
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.8k
【Gen-AX】20260530開催_JJUG CCC 2026 Spring
genax
0
400
AI-DLCを活用した高品質・安全なAI駆動開発実践 / AI Driven Development
yoshidashingo
1
330
Featured
See All Featured
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
340
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
BBQ
matthewcrist
89
10k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
The untapped power of vector embeddings
frankvandijk
2
1.7k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Raft: Consensus for Rubyists
vanstee
141
7.5k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
300
Practical Orchestrator
shlominoach
191
11k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
380
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
280
Transcript
Presentation styleguide May 2016
Presentation styleguide May 2016
TROVIT & DEPLOYMENT OVERVIEW TROVIT DEPLOYMENT SYSTEM (PAST, PRESENT AND
FUTURE) ADVICE
TROVIT & DEPLOYMENT OVERVIEW TROVIT DEPLOYMENT SYSTEM (PAST, PRESENT AND
FUTURE) ADVICE
A CLASSIFIED SEARCH ENGINE FOR PROPERTY, JOBS, CARS AND PRODUCTS
None
None
PLATFORM NUMBERS 5 SERVERS 40 SERVERS 20 SERVERS 4 SERVERS
50 SERVERS 400 SERVERS
Deployment
Build
Synchronization
Release
TROVIT & DEPLOYMENT OVERVIEW TROVIT DEPLOYMENT SYSTEM (PAST, PRESENT AND
FUTURE) ADVICE
Trovit deployment system (Past, present and future)
Old deployment system
BUILD CREATION Build host Internal External Services Commands SATIS
OLD TROVIT DEPLOYMENT - BUILD 1 PROJECT PROJECT FRAMEWORK symlink
✔ BUILD SIZE ✘ BUILD DEPENDENCY ✘ QA INSECURITY
OLD TROVIT DEPLOYMENT - BUILD X PROJECTS PROJECT 1 FRAMEWORK
symlink PROJECT 2 symlink PROJECT 3 symlink
✔ BUILD SIZE ✘ DEPENDENCY ✘ QA INSECURITY ✘ COMPLEXITY
✘ COMMUNICATION ✘ C&P BASH SCRIPTS ✘ CHANGELESS OLD TROVIT DEPLOYMENT - BUILD X PROJECTS
DEPLOYMENT WITHOUT SYMBOLIC LINK Deployment host tag ../project/ ../project/
DEPLOYMENT WITHOUT SYMBOLIC LINK ✔ UPLOAD ONLY MODIFIED FILES (rsync)
✘ SLOW ROLLBACK ✘ ERRORS 500! ✘ SERVERS WITH DIFFERENT VERSIONS
DEPLOYMENT WITH SYMBOLIC LINK Deployment host tag ../project/ ../project/releases/tag ../project/current
Symbolic link Full copy
DEPLOYMENT WITH SYMBOLIC LINK ✔ FAST VERSION INSTALLATION ✔ SERVERS
WITH THE SAME VERSION ✔ IMMEDIATE ROLLBACK ✔ AVOID ANY ERRORS DURING THE DEPLOY ✘ SLOW UPLOAD
RELEASE • Change symbolik link (with symbolic link ) •
Php bin/console cache:clear --env=prod --no-debug • Clean opcache • Apache graceful
Sum up
DEPLOYMENT SYSTEM OVERVIEW • Copy-Paste. • Poor design (rigidity, fragility,
immobility, viscosity). • Command line execution. • Slow deploys (20 minutes!!!). • Multi builds for different environments. • Some projects with releases and others without. • Production errors!
Current deployment system
Vision
10 BACKEND TEAMS +15 PHP PROJECTS
None
+
+
ABOUT ANSIBLE App deployment, configuration management and orchestration. • Minimal
in nature • Consistent • Secure • Highly reliable • Low learning curve INFRASTRUCTURE AS CODE • Cost reduction • Faster execution • Remove errors and security violations
HOW ANSIBLE WORKS?
ANSIBLE STRUCTURE
INVENTORY
PROJECT
ROLES
https://docs.ansible.com/ansibl e/deploy_helper_module.html DEPLOY HELPER
FOLDER STRUCTURE
EXAMPLE
JENKINS OVERVIEW
JENKINS PROGRAM
None
CONTINUOUS DELIVERY DEPLOYMENT PIPELINE CODE REVIEW QA OR DEVELOPER BUILD
PREPRODUCTION PRODUCTION
BUILD Execute ansible playbook Execute all the roles Tag: X.X.X
Get tags
BUILD
PRODUCTION Get tags Tag: X.X.X DEPLOYMENT ENVIRONMENT
DEPLOYMENT ENVIRONMENT
UI DEPLOYMENT PIPELINE
UI DEPLOYMENT PIPELINE
PIPELINE DSL (GROOVY)
JENKINS TROVIT BUILDS
JENKINS TROVIT DEPLOYMENT
Rollback
Future
AGILE WORKFLOW CONTINUOUS INTEGRATION CONTINUOUS DELIVERY CONTINUOUS DEPLOYMENT
PIPELINE SCALABILITY
QA WORKFLOW QA SYSTEM TO BE TESTED AUTOMATED TESTING PRACTICES
TESTING PLATFORM TEST ADMINISTRA TOR TESTING TOOLS TEST LIBRARY
SERVICE CONTAINER
CONTAINER DEPLOYMENT LOAD BALANCER WEB SERVER APP SERVER DATABASES
WIKI • ANSIBLE: https://www.ansible.com/ • ANSIBLE DEPLOY HELPER: https://docs.ansible.com/ansible/deploy_helper_module.html •
JENKINS: https://jenkins.io/solutions/pipeline • BLUE GREEN DEPLOYMENT: http://martinfowler.com/bliki/BlueGreenDeployment.html • KUBERNETES: http://kubernetes.io/ • DOCKER: https://www.docker.com/ • NETFLIX: http://techblog.netflix.com/2015/11/global-continuous-delivery-with.html • ETSY: https://www.infoq.com/news/2014/03/etsy-deploy-50-times-a-day • CONTINUOUS INTEGRATION VS CONTINUOUS DELIVERY VS CONTINUOUS DEPLOYMENT: http://stackoverflow.com/questions/28608015/continuous-integration-vs-continuous-delivery-vs-continuou s-deployment • PMP: https://en.wikipedia.org/wiki/Project_Management_Body_of_Knowledge • TROVIT: https://www.youtube.com/channel/UCz8S73iKoCom2RN8B8l-Heg • TROVIT CAREERS: http://careers.trovit.com/
TROVIT & DEPLOYMENT OVERVIEW TROVIT DEPLOYMENT SYSTEM (PAST, PRESENT AND
FUTURE) ADVICE
Advice
GLOBAL VISION SCOPE COST TIME
GLOBAL VISION RISK QUALITY STAKEHOLDERS INTEGRATION COMMUNICATION
None
Albert Playà (@albertplaya) Software Development Manager
QUESTIONS?