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
昔話で振り返るAWSの歩み ~S3誕生から20年、クラウドはどう進化したのか~
nrinetcom
PRO
0
100
互換性のある(らしい)DBへの移行など考えるにあたってたいへんざっくり
sejima
PRO
0
200
非同期・イベント駆動処理の分散トレーシングの繋げ方
ichikawaken
1
150
AI時代のシステム開発者の仕事_20260328
sengtor
0
290
MCPで決済に楽にする
mu7889yoon
0
140
脳が溶けた話 / Melted Brain
keisuke69
1
1.1k
AIエージェント勉強会第3回 エージェンティックAIの時代がやってきた
ymiya55
0
140
20年以上続く PHP 大規模プロダクトを Kubernetes へ ── クラウド基盤刷新プロジェクトの4年間
oogfranz
PRO
0
320
君はジョシュアツリーを知っているか?名前をつけて事象を正しく認識しよう / Do you know Joshua Tree?
ykanoh
4
140
DDD×仕様駆動で回す高品質開発のプロセス設計
littlehands
6
2.6k
The Rise of Browser Automation: AI-Powered Web Interaction in 2026
marcthompson_seo
0
310
SaaSに宿る21g
kanyamaguc
2
180
Featured
See All Featured
Joys of Absence: A Defence of Solitary Play
codingconduct
1
320
Information Architects: The Missing Link in Design Systems
soysaucechin
0
850
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
180
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Bash Introduction
62gerente
615
210k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
310
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Producing Creativity
orderedlist
PRO
348
40k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
KATA
mclloyd
PRO
35
15k
Typedesign – Prime Four
hannesfritz
42
3k
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?