Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Continuous integration using Docker. Oro experience

Continuous integration using Docker. Oro experience

CodeID - PHP Odessa

Sergey Zhuravel

June 25, 2017
Tweet

More Decks by Sergey Zhuravel

Other Decks in Programming

Transcript

  1. This Document is Confidential The Oro Monorepo 28 packages, 130000+

    commits Size Lines of Code (LOC) 2370891 Comment Lines of Code (CLOC) 474953 (20.03%) Non-Comment Lines of Code (NCLOC) 1895938 (79.97%) Logical Lines of Code (LLOC) 577392 (24.35%) Classes 459202 (79.53%)
  2. Development after Backward incompatible changes Old API removals and updates

    Remove deprecations Documentation Bugfix all packages same time
  3. This Document is Confidential Advantages Productivity Simpler development flow (development

    and review) All-in-one approach Fast, unified CI feedback Better DX (less time for deployment and installation, more code examples) Disadvantages dev.json management (should be automated) Short history in case tree was imported Symlinks on Windows =)
  4. This Document is Confidential Core developer GIVEN I have GIT

    installed AND I have docker installed AND I have docker-compose installed WHEN I do git clone https://github.com/laboro/dev AND Go to application folder (application/platform) AND Run docker-compose up -d THEN webserver, php, DB containers are created AND I can run Composer AND I can install platform application
  5. This Document is Confidential QA GIVEN I have GIT installed

    AND I have docker installed AND I have docker-compose installed WHEN I do git clone https://github.com/laboro/dev AND Go to application folder (application/platform) AND Run docker-compose up -d AND Run install script THEN webserver, php, DB containers are created AND I can open in my browser platform.oro.dev
  6. This Document is Confidential Сontinuous integration server GIVEN GIT is

    installed AND docker installed AND docker-compose installed WHEN Do git clone https://github.com/laboro/dev AND Open application folder (application/platform) AND Run docker-compose up -d AND Run install script THEN webserver, php, DB containers are created AND CI can run UNIT tests AND CI can run FUNCTIONAL tests AND CI can run BEHAT tests
  7. This Document is Confidential Community developer or Partner GIVEN I

    have GIT installed AND I have docker installed AND I have docker-compose installed WHEN I do git clone https://github.com/orocrm/platform-application to platform folder AND git clone https://github.com/orocrm/environment to environment folder AND Change dir to platform folder AND Run docker-compose up -d THEN webserver, php, DB containers are created AND I can run Composer AND I can install platform application
  8. This Document is Confidential • swarm mode and scaling over

    nodes • performance tuning (cpu shares, memory, I\O) • apply for community packages and applications • make environment stateless (parallel and files with php files) • selenium support for behat tests • stable release Next steps