Как попасть на production
DESCRIPTION
Когда говорят о программировании обычно имеют ввиду процесс написания кода. Редко говорят о том как мы запускаем результаты нашей работы в «дикий мир» production’а. В командах с развитыми build-package-deploy циклом с момента написания до момента начала работы кода на production происходит масса интересных вещей.TRANSCRIPT
![Page 1: Как попасть на Production](https://reader033.vdocuments.site/reader033/viewer/2022050922/557af185d8b42a25358b52c2/html5/thumbnails/1.jpg)
Путь на production
Денис Баженов
Tuesday, May 22, 12
![Page 2: Как попасть на Production](https://reader033.vdocuments.site/reader033/viewer/2022050922/557af185d8b42a25358b52c2/html5/thumbnails/2.jpg)
Путь ниндзи на production
Developer Production
Download
Upload
Tuesday, May 22, 12
![Page 3: Как попасть на Production](https://reader033.vdocuments.site/reader033/viewer/2022050922/557af185d8b42a25358b52c2/html5/thumbnails/3.jpg)
Tuesday, May 22, 12
![Page 4: Как попасть на Production](https://reader033.vdocuments.site/reader033/viewer/2022050922/557af185d8b42a25358b52c2/html5/thumbnails/4.jpg)
Tuesday, May 22, 12
![Page 5: Как попасть на Production](https://reader033.vdocuments.site/reader033/viewer/2022050922/557af185d8b42a25358b52c2/html5/thumbnails/5.jpg)
index.php.bak.old.2кто_удалит_получит_по_морде.php
Tuesday, May 22, 12
![Page 6: Как попасть на Production](https://reader033.vdocuments.site/reader033/viewer/2022050922/557af185d8b42a25358b52c2/html5/thumbnails/6.jpg)
Ниндзей быть невыгодно
Tuesday, May 22, 12
![Page 7: Как попасть на Production](https://reader033.vdocuments.site/reader033/viewer/2022050922/557af185d8b42a25358b52c2/html5/thumbnails/7.jpg)
Релиз = исходники
Tuesday, May 22, 12
![Page 8: Как попасть на Production](https://reader033.vdocuments.site/reader033/viewer/2022050922/557af185d8b42a25358b52c2/html5/thumbnails/8.jpg)
Релиз ≠ исходники
VCS Release
Tuesday, May 22, 12
![Page 9: Как попасть на Production](https://reader033.vdocuments.site/reader033/viewer/2022050922/557af185d8b42a25358b52c2/html5/thumbnails/9.jpg)
Релиз ≠ исходники
Релиз обязан работать, исходники нет
Tuesday, May 22, 12
![Page 10: Как попасть на Production](https://reader033.vdocuments.site/reader033/viewer/2022050922/557af185d8b42a25358b52c2/html5/thumbnails/10.jpg)
Что происходит?
Компиляция
Фильтрация и генерация ресурсов
Тестирование и верификация
Сборка
Публикация
Tuesday, May 22, 12
![Page 11: Как попасть на Production](https://reader033.vdocuments.site/reader033/viewer/2022050922/557af185d8b42a25358b52c2/html5/thumbnails/11.jpg)
Хороший релиз
• работает!
• самодостаточен• обладает метаинформацией
• совместим с предыдущим релизом
Tuesday, May 22, 12
![Page 12: Как попасть на Production](https://reader033.vdocuments.site/reader033/viewer/2022050922/557af185d8b42a25358b52c2/html5/thumbnails/12.jpg)
Tuesday, May 22, 12
![Page 13: Как попасть на Production](https://reader033.vdocuments.site/reader033/viewer/2022050922/557af185d8b42a25358b52c2/html5/thumbnails/13.jpg)
Toolchain
• version control system
• build tool;
• репозиторий артефактов;
• Continuous Integration server.
Tuesday, May 22, 12
![Page 14: Как попасть на Production](https://reader033.vdocuments.site/reader033/viewer/2022050922/557af185d8b42a25358b52c2/html5/thumbnails/14.jpg)
Continuous Integration
Tuesday, May 22, 12
![Page 15: Как попасть на Production](https://reader033.vdocuments.site/reader033/viewer/2022050922/557af185d8b42a25358b52c2/html5/thumbnails/15.jpg)
Continuous Integration
VCS CI-server
CI-serverCI-serverBuild agents
poll
run
Tuesday, May 22, 12
![Page 16: Как попасть на Production](https://reader033.vdocuments.site/reader033/viewer/2022050922/557af185d8b42a25358b52c2/html5/thumbnails/16.jpg)
Continuous Integration
Tuesday, May 22, 12
![Page 17: Как попасть на Production](https://reader033.vdocuments.site/reader033/viewer/2022050922/557af185d8b42a25358b52c2/html5/thumbnails/17.jpg)
Continuous Integration
Tuesday, May 22, 12
![Page 18: Как попасть на Production](https://reader033.vdocuments.site/reader033/viewer/2022050922/557af185d8b42a25358b52c2/html5/thumbnails/18.jpg)
Continuous Integration
Tuesday, May 22, 12
![Page 19: Как попасть на Production](https://reader033.vdocuments.site/reader033/viewer/2022050922/557af185d8b42a25358b52c2/html5/thumbnails/19.jpg)
Continuous Integration
• не занимаются ресурсы dev. машин;
• более частые сборки;
• более сложные виды тестирования;
• может выступать в качестве репозитория артефактов
Tuesday, May 22, 12
![Page 20: Как попасть на Production](https://reader033.vdocuments.site/reader033/viewer/2022050922/557af185d8b42a25358b52c2/html5/thumbnails/20.jpg)
VCSCI-server
Build Agent
Compile
Unit/Integration Testing
Package
Acceptance Testing
Publish
Static Analysis
Production
Maven
Developer
Tuesday, May 22, 12
![Page 21: Как попасть на Production](https://reader033.vdocuments.site/reader033/viewer/2022050922/557af185d8b42a25358b52c2/html5/thumbnails/21.jpg)
На что еще стоит обратить внимание
Tuesday, May 22, 12
![Page 22: Как попасть на Production](https://reader033.vdocuments.site/reader033/viewer/2022050922/557af185d8b42a25358b52c2/html5/thumbnails/22.jpg)
Pitfalls
• адекватный процесс тестирования;
• контроль времени требуемого на сборку;
• адекватные отчеты при проваленном релизе;
• разбиение release’а на отдельные стадии.
Tuesday, May 22, 12
![Page 23: Как попасть на Production](https://reader033.vdocuments.site/reader033/viewer/2022050922/557af185d8b42a25358b52c2/html5/thumbnails/23.jpg)
Спасибо за внимание!Денис Баженов <[email protected]>@denis_bazhenovhttp://bazhenov.me
Tuesday, May 22, 12