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
0
450
[deSymfony] Trovit Deployment pipeline
Trovit Deployment pipeline using ansible and jenkins pipeline
albertplaya
September 16, 2016
Tweet
Share
Other Decks in Technology
See All in Technology
OPENLOGI Company Profile
hr01
0
67k
整頓のジレンマとの戦い〜Tidy First?で振り返る事業とキャリアの歩み〜/Fighting the tidiness dilemma〜Business and Career Milestones Reflected on in Tidy First?〜
bitkey
2
14k
生成AI活用の組織格差を解消する 〜ビジネス職のCursor導入が開発効率に与えた好循環〜 / Closing the Organizational Gap in AI Adoption
upamune
7
5.1k
20250707-AI活用の個人差を埋めるチームづくり
shnjtk
4
3.3k
AIの全社活用を推進するための安全なレールを敷いた話
shoheimitani
2
390
怖くない!はじめてのClaude Code
shinya337
0
370
「良さそう」と「とても良い」の間には 「良さそうだがホンマか」がたくさんある / 2025.07.01 LLM品質Night
smiyawaki0820
1
500
KubeCon + CloudNativeCon Japan 2025 Recap
ren510dev
1
360
KubeCon + CloudNativeCon Japan 2025 Recap by CA
ponkio_o
PRO
0
290
WordPressから ヘッドレスCMSへ! Storyblokへの移行プロセス
nyata
0
430
開発生産性を測る前にやるべきこと - 組織改善の実践 / Before Measuring Dev Productivity
kaonavi
0
110
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
27k
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
5.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Code Reviewing Like a Champion
maltzj
524
40k
Practical Orchestrator
shlominoach
188
11k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Unsuck your backbone
ammeep
671
58k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
Building an army of robots
kneath
306
45k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
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?