SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
Continuous integration –
step to Continuous Deploy

               Igor Rodionov

               Drupal expert
               rodionov.ig@gmail.com
Rodionov Igor
Sponsors
                     Gold sponsor
    Organization

Cooking Drupal
      ~ 5 years
   Silver sponsor   Silver sponsor

   ~ 14 projects
   ~ 60 patches
   Bronze sponsor
                    Bronze sponsor

  ~16 approved
Drupal based project
Drupal based project
Drupal based project
Why?
Club of anonymous drupalers
Club of anonymous drupalers
Club of anonymous drupalers




Take control over your project!
Continuous integration


•   Build
•   Inspection
•   Test
•   Deploy / Artifact
Continuous integration


• Get rid of routine
• Regression testing
• Fast Feedback
• Confidence in the project
• Frequent release
Continuous integration
Deploy
Deploy

     Code         Run
SVN         Bash Manual
GIT         Bash SSH
CVS         VCS Hooks
Mercurial   Cron
FTP         Capistrano
SFTP        Phingistrano
Inspection
Inspection – Copy - Paste




                 PHPCPD

               pear install phpunit/phpcpd
Inspection - Mess




  phplint
icosaedro.it/phplint
Inspection - Mess

 PHPMD
    phpmd.org
______________________________



 Code Size Rules
  Design Rules
  Naming Rules
Unused Code Rules
Inspection – Code Style


                  Code Sniffer
                   pear install PHP_CodeSniffer



                  Drupal Code
                     Sniffer
                  drupal.org/project/drupalcs
Test
Test
Selenium + Unit testing framework
+ Functional tests
- Unit tests
+ Java Script support
- Access Drupal API
- Atomicity
- Fragile tests
- Multithreading
- Performance
Test
Simpletest/Simpletest clone
+ Functional tests
+ Unit tests
- Java Script support
+ Access Drupal API
+ Atomicity
+ Fragile tests
+ Multithreading
+ Performance
Test
Simpletest/Simpletest clone/Selenium
+ Functional tests
+ Unit tests
+ Java Script support
+ Access Drupal API
+ Atomicity
+ Fragile tests
+ Multithreading
+ Performance
Build
Build
Build



   • Contribute
   • Custom
   • Forked
Build



   • Contribute
   • Custom
   • Forked Patches
Build


           Drush make
projects[admin_menu][version] = "3.0-rc1"
projects[admin_menu][subdir] = "contrib/dev"
projects[admin_menu][patch][] =
  "patches/admin_menu_font.patch"
Build
• Drush make

• Corporate repository
  modules
• Fork core & modules

• Contribe your patches
Build




  Do not store
Build

   Modules       Drush migrate


                   Features
   Objects          Ctools
                 default hooks

                  Strongarm
Configurations      Ctools
                   Features

                     Uuid
   Content       Uuid features
                  Features
Build - phing
                • $ phing make
                • $ phing install
                • $ phing update
                • $ phing test
                • $ phing inspect
                • $ phing create
                • $ phing phpcs
                etc ...
Summing up

• Control over the project
• Reduced the time of release
• Reduced the risks
• The accumulation of "technical
  expertise“
• Flexible integration of third-party code
• 75% of developers became happy
Thank you for your
    attention

   Questions?
          Igor Rodionov

          Drupal expert
          rodionov.ig@gmail.com
Rodionov Igor
Sponsors
                     Gold sponsor
    Organization

Cooking Drupal
      ~ 5 years
   Silver sponsor   Silver sponsor

   ~ 14 projects
   ~ 60 patches
   Bronze sponsor
                    Bronze sponsor

  ~16 approved

Weitere ähnliche Inhalte

Was ist angesagt?

Rapid application development with spring roo j-fall 2010 - baris dere
Rapid application development with spring roo   j-fall 2010 - baris dereRapid application development with spring roo   j-fall 2010 - baris dere
Rapid application development with spring roo j-fall 2010 - baris dere
Baris Dere
 

Was ist angesagt? (20)

DevOps:建造開發維運的跨界之橋 (@ C.C. Agile #37)
DevOps:建造開發維運的跨界之橋 (@ C.C. Agile #37)DevOps:建造開發維運的跨界之橋 (@ C.C. Agile #37)
DevOps:建造開發維運的跨界之橋 (@ C.C. Agile #37)
 
Continuous delivery with open source tools
Continuous delivery with open source toolsContinuous delivery with open source tools
Continuous delivery with open source tools
 
Continuous Integration for Spark Apps by Sean McIntyre
Continuous Integration for Spark Apps by Sean McIntyreContinuous Integration for Spark Apps by Sean McIntyre
Continuous Integration for Spark Apps by Sean McIntyre
 
Writer APIs in Java faster with Swagger Inflector
Writer APIs in Java faster with Swagger InflectorWriter APIs in Java faster with Swagger Inflector
Writer APIs in Java faster with Swagger Inflector
 
Rapid application development with spring roo j-fall 2010 - baris dere
Rapid application development with spring roo   j-fall 2010 - baris dereRapid application development with spring roo   j-fall 2010 - baris dere
Rapid application development with spring roo j-fall 2010 - baris dere
 
Easily extend your existing php app with an api
Easily extend your existing php app with an apiEasily extend your existing php app with an api
Easily extend your existing php app with an api
 
Salesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
Salesforce CI (Continuous Integration) - SFDX + Bitbucket PipelinesSalesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
Salesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
 
Understanding how to use Swagger and its tools
Understanding how to use Swagger and its toolsUnderstanding how to use Swagger and its tools
Understanding how to use Swagger and its tools
 
Cloud Study Jam ML API 3
Cloud Study Jam ML API 3Cloud Study Jam ML API 3
Cloud Study Jam ML API 3
 
Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...
Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...
Best practices for Continuous Deployment with Drupal - DrupalCon Latin Améric...
 
Speed up your regression and reduce cost load with Selenoid + K8s + ReportPortal
Speed up your regression and reduce cost load with Selenoid + K8s + ReportPortalSpeed up your regression and reduce cost load with Selenoid + K8s + ReportPortal
Speed up your regression and reduce cost load with Selenoid + K8s + ReportPortal
 
Simplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - Sydney
Simplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - SydneySimplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - Sydney
Simplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - Sydney
 
Swagger 2.0: Latest and Greatest
Swagger 2.0: Latest and GreatestSwagger 2.0: Latest and Greatest
Swagger 2.0: Latest and Greatest
 
Continuous Integration & Drupal
Continuous Integration & DrupalContinuous Integration & Drupal
Continuous Integration & Drupal
 
EVOLVE'13 | Keynote | Richard Brown
EVOLVE'13 | Keynote | Richard BrownEVOLVE'13 | Keynote | Richard Brown
EVOLVE'13 | Keynote | Richard Brown
 
Unit Testing in R with Testthat - HRUG
Unit Testing in R with Testthat - HRUGUnit Testing in R with Testthat - HRUG
Unit Testing in R with Testthat - HRUG
 
6º Encontro do Grupo de Testes Carioca - Testes em um contexto de Continuous ...
6º Encontro do Grupo de Testes Carioca - Testes em um contexto de Continuous ...6º Encontro do Grupo de Testes Carioca - Testes em um contexto de Continuous ...
6º Encontro do Grupo de Testes Carioca - Testes em um contexto de Continuous ...
 
Collaborating on GitHub for Open Source Documentation
Collaborating on GitHub for Open Source DocumentationCollaborating on GitHub for Open Source Documentation
Collaborating on GitHub for Open Source Documentation
 
There's more to Ratpack than non-blocking
There's more to Ratpack than non-blockingThere's more to Ratpack than non-blocking
There's more to Ratpack than non-blocking
 
Deploying Apps on OpenStack
Deploying Apps on OpenStackDeploying Apps on OpenStack
Deploying Apps on OpenStack
 

Andere mochten auch

Politisk kamp på nätet grundstomme
Politisk kamp på nätet grundstommePolitisk kamp på nätet grundstomme
Politisk kamp på nätet grundstomme
Pooma Webbutveckling
 
Непрерывная интеграция - шаг к непрерывному деплойменту
Непрерывная интеграция - шаг к непрерывному деплойментуНепрерывная интеграция - шаг к непрерывному деплойменту
Непрерывная интеграция - шаг к непрерывному деплойменту
Игорь Родионов
 
Politisk kamp på nätet grundstomme
Politisk kamp på nätet grundstommePolitisk kamp på nätet grundstomme
Politisk kamp på nätet grundstomme
Pooma Webbutveckling
 
Anti racismposters-110425060647-phpapp02
Anti racismposters-110425060647-phpapp02Anti racismposters-110425060647-phpapp02
Anti racismposters-110425060647-phpapp02
Kerrydaniels
 
Дари заботу
Дари заботуДари заботу
Дари заботу
rsedykh
 
Key Concepts Of Effective Self-Management
Key Concepts Of Effective Self-ManagementKey Concepts Of Effective Self-Management
Key Concepts Of Effective Self-Management
Thorsten Sachtje
 
Izrada plana stana i predlog za njegovo uredjenje
Izrada plana stana i predlog za njegovo uredjenjeIzrada plana stana i predlog za njegovo uredjenje
Izrada plana stana i predlog za njegovo uredjenje
Mladenv
 

Andere mochten auch (19)

Listopadowe promocje tianDe
Listopadowe promocje tianDe Listopadowe promocje tianDe
Listopadowe promocje tianDe
 
Politisk kamp på nätet grundstomme
Politisk kamp på nätet grundstommePolitisk kamp på nätet grundstomme
Politisk kamp på nätet grundstomme
 
Непрерывная интеграция - шаг к непрерывному деплойменту
Непрерывная интеграция - шаг к непрерывному деплойментуНепрерывная интеграция - шаг к непрерывному деплойменту
Непрерывная интеграция - шаг к непрерывному деплойменту
 
Prezentacja zestawów świątecznych 2012
Prezentacja zestawów świątecznych 2012Prezentacja zestawów świątecznych 2012
Prezentacja zestawów świątecznych 2012
 
Vadfungerarpanatet
VadfungerarpanatetVadfungerarpanatet
Vadfungerarpanatet
 
Introduktion till webbutveckling
Introduktion till webbutvecklingIntroduktion till webbutveckling
Introduktion till webbutveckling
 
Politisk kamp på nätet grundstomme
Politisk kamp på nätet grundstommePolitisk kamp på nätet grundstomme
Politisk kamp på nätet grundstomme
 
SOHOME AUSTRALIA
SOHOME AUSTRALIA SOHOME AUSTRALIA
SOHOME AUSTRALIA
 
Projektplanering
ProjektplaneringProjektplanering
Projektplanering
 
Anti racismposters-110425060647-phpapp02
Anti racismposters-110425060647-phpapp02Anti racismposters-110425060647-phpapp02
Anti racismposters-110425060647-phpapp02
 
Easy authcache 2 - кеширование для Pro
Easy authcache 2 - кеширование для ProEasy authcache 2 - кеширование для Pro
Easy authcache 2 - кеширование для Pro
 
Politisk kamp på nätet
Politisk kamp på nätetPolitisk kamp på nätet
Politisk kamp på nätet
 
Дари заботу
Дари заботуДари заботу
Дари заботу
 
IPA for DNA analysis
IPA for DNA analysisIPA for DNA analysis
IPA for DNA analysis
 
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITYCONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
CONTINUOUS INTEGRATION ДЛЯ ЧАЙНИКОВ ВМЕСТЕ С TEAMCITY
 
Katalog TianDe Premiera Piekna
Katalog TianDe Premiera PieknaKatalog TianDe Premiera Piekna
Katalog TianDe Premiera Piekna
 
Key Concepts Of Effective Self-Management
Key Concepts Of Effective Self-ManagementKey Concepts Of Effective Self-Management
Key Concepts Of Effective Self-Management
 
Izrada plana stana i predlog za njegovo uredjenje
Izrada plana stana i predlog za njegovo uredjenjeIzrada plana stana i predlog za njegovo uredjenje
Izrada plana stana i predlog za njegovo uredjenje
 
Easy authcache 2 - caching for Pro
Easy authcache 2 - caching for ProEasy authcache 2 - caching for Pro
Easy authcache 2 - caching for Pro
 

Ähnlich wie Сontinuous Integration - step to continuous deployment

ColdFusion Builder extensions (CFCamp 2012)
ColdFusion Builder extensions (CFCamp 2012)ColdFusion Builder extensions (CFCamp 2012)
ColdFusion Builder extensions (CFCamp 2012)
Guust Nieuwenhuis
 

Ähnlich wie Сontinuous Integration - step to continuous deployment (20)

Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan Kušt
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan KuštInfinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan Kušt
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan Kušt
 
Application Deployment at UC Riverside
Application Deployment at UC RiversideApplication Deployment at UC Riverside
Application Deployment at UC Riverside
 
Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration
 
Qcon beijing 2010
Qcon beijing 2010Qcon beijing 2010
Qcon beijing 2010
 
Kku2011
Kku2011Kku2011
Kku2011
 
Continuous delivery @ iyzico
Continuous delivery @ iyzicoContinuous delivery @ iyzico
Continuous delivery @ iyzico
 
Continuous feature-development
Continuous feature-developmentContinuous feature-development
Continuous feature-development
 
Creating a reasonable project boilerplate
Creating a reasonable project boilerplateCreating a reasonable project boilerplate
Creating a reasonable project boilerplate
 
Continuous testing
Continuous testingContinuous testing
Continuous testing
 
Using Grunt with Drupal
Using Grunt with DrupalUsing Grunt with Drupal
Using Grunt with Drupal
 
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...
 
It's a Breeze to develop Apache Airflow (London Apache Airflow meetup)
It's a Breeze to develop Apache Airflow (London Apache Airflow meetup)It's a Breeze to develop Apache Airflow (London Apache Airflow meetup)
It's a Breeze to develop Apache Airflow (London Apache Airflow meetup)
 
Symfony under control. Continuous Integration and Automated Deployments in Sy...
Symfony under control. Continuous Integration and Automated Deployments in Sy...Symfony under control. Continuous Integration and Automated Deployments in Sy...
Symfony under control. Continuous Integration and Automated Deployments in Sy...
 
Symfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim RomanovskySymfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim Romanovsky
 
Deployment orchestration
Deployment orchestration Deployment orchestration
Deployment orchestration
 
It's a Breeze to develop Airflow (Cloud Native Warsaw)
It's a Breeze to develop Airflow (Cloud Native Warsaw)It's a Breeze to develop Airflow (Cloud Native Warsaw)
It's a Breeze to develop Airflow (Cloud Native Warsaw)
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev ops
 
ColdFusion Builder extensions (CFCamp 2012)
ColdFusion Builder extensions (CFCamp 2012)ColdFusion Builder extensions (CFCamp 2012)
ColdFusion Builder extensions (CFCamp 2012)
 
Session 2
Session 2Session 2
Session 2
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

Сontinuous Integration - step to continuous deployment