SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
Automate quality
just like you automate servers
Benoît PECCATTE
bpe@normation.com
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
When you have to, create your tool
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
A bad workman blames his tools
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
A good workman polishes his tools
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
A good workman polishes his tools
→ The right tool for the right job
→ Specific tool for specific job
→ Each company process is specific
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
Tool benefits is not measured in dollars
→free mind
→free time
→complex things become simple
→process is always followed
→process can evolve more easily
→newcomers can embark quickly
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
Writing costs
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
Real writing costs
Implementation
cost (days)
Time won per
task
Persons using
it
Days per year Time won
(days)
1 1 min 4 200 1
10 10 min 4 200 10
1 20s 12 200 1
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
Writing cost
A word about context switch
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Context switch
funny cat
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
Writing cost
A word about context switch
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
You can do it now
1. Have APIs
2. Call those API for the task you do the most
3. Find source of information to automatically fill
parameters to this APIs
4. Update your process
5. Rinse and repeat
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
I got a tool used by everyone
→We added tasks to the process without
bothering anyone
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
Before:
- open an issue (in your browser)
- check that no one else is working on it
- look for the target version, branch and status
- checkout your repo
- create a new branch with a name based on the issue fields
- Code !
- add files
- commit with a comment containing the issue title and ID
- push to your repo
- create a pull request with a meaningful title based on you code and the right branch
- add the PR url to the issue
- assign the issue to a reviewer and change the status
Hope that we are done with the review
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
After:
- rudder-dev <issue-id>
- Code !
- add files
- rudder-dev <reviewer>
Be happy to follow the review process
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
Other commands: rudder-dev blame
$ rudder-dev blame agent-run
Blaming file agent-run
$ git blame -s -w --abbrev=6 agent-run
8088292 F #5791 1) #!/bin/sh
8088292 F #5791 2) # @description force run agent promises
29c7bc5 F #6659 3) # @man This command will force the agent to enforce current
policies.
29c7bc5 F #6659 4) # @man You can run *rudder agent update* before to update the
promises.
4945a30 F #6731 5) # @man +
4945a30 F #6731 6) # @man *Options*:
4945a30 F #6731 7) # @man +
90002b4 F #7824 8) # @man *-u*: update policy before running the agent (default is
to run existing policy)
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
Other commands: rudder-dev quickfix
● Edit a file in a committed repo
● rudder-dev quickfix “there was an issue”
→ A bug is opened with the title
→ A PR is created with the content of the diff
→ done
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
Other commands: rudder-dev subtask
An error in your last PR, call rudder-dev subtask !
→ a properly categorized bug is created and linked to the original
issue
→ a branch is then based on this ticket
→ just work on it
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Automate quality
Other commands: rudder-dev revert
A problem has been discovered with a specific PR ?
Call rudder-dev revert
→ it find the commit associated with PR
→ it reverts it
→ it updates the ticket
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Opensource
https://github.com/Normation/rudder-tools/tree/mas
ter/scripts/rudder-dev
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
What next ?
Automate reviews
Normation – Tous droits réservés
CONFIDENTIEL
normation.com
Normation – 87 rue de Turbigo, 75003 PARIS, France –Normation – 87 rue de Turbigo, 75003 PARIS, France – contact@normation.comcontact@normation.com – 01.83.62.26.96 –– 01.83.62.26.96 – http://www.normation.com/http://www.normation.com/
Automate quality
just like you automate servers
Benoît PECCATTE
bpe@normation.com

Contenu connexe

Plus de RUDDER

Poss 2017 : gestion des configurations et mise en conformité chez un service ...
Poss 2017 : gestion des configurations et mise en conformité chez un service ...Poss 2017 : gestion des configurations et mise en conformité chez un service ...
Poss 2017 : gestion des configurations et mise en conformité chez un service ...
RUDDER
 
Poss 2017 - la continuité, arme secrète de la gestion du si - cas concret de ...
Poss 2017 - la continuité, arme secrète de la gestion du si - cas concret de ...Poss 2017 - la continuité, arme secrète de la gestion du si - cas concret de ...
Poss 2017 - la continuité, arme secrète de la gestion du si - cas concret de ...
RUDDER
 
POSS 2017 : Comment automatiser son infrastructure quand... on a pas le temps...
POSS 2017 : Comment automatiser son infrastructure quand... on a pas le temps...POSS 2017 : Comment automatiser son infrastructure quand... on a pas le temps...
POSS 2017 : Comment automatiser son infrastructure quand... on a pas le temps...
RUDDER
 
RUDDER - Continuous Configuration (configuration management + continuous aud...
 RUDDER - Continuous Configuration (configuration management + continuous aud... RUDDER - Continuous Configuration (configuration management + continuous aud...
RUDDER - Continuous Configuration (configuration management + continuous aud...
RUDDER
 
RUDDER - Continuous Configuration (configuration management + continuous audi...
RUDDER - Continuous Configuration (configuration management + continuous audi...RUDDER - Continuous Configuration (configuration management + continuous audi...
RUDDER - Continuous Configuration (configuration management + continuous audi...
RUDDER
 
Automatisation applicative vs automatisation système - LibDay 2016
Automatisation applicative vs automatisation système - LibDay 2016Automatisation applicative vs automatisation système - LibDay 2016
Automatisation applicative vs automatisation système - LibDay 2016
RUDDER
 

Plus de RUDDER (20)

What happened in RUDDER in 2018 and what’s next?
What happened in RUDDER in 2018 and what’s next?What happened in RUDDER in 2018 and what’s next?
What happened in RUDDER in 2018 and what’s next?
 
What is RUDDER and when should I use it?
What is RUDDER and when should I use it?What is RUDDER and when should I use it?
What is RUDDER and when should I use it?
 
Fosdem - Configurations do you prove yours?
Fosdem - Configurations  do you prove yours?Fosdem - Configurations  do you prove yours?
Fosdem - Configurations do you prove yours?
 
L'audit en continu : clé de la conformité démontrable (#POSS 2018)
L'audit en continu : clé de la conformité démontrable (#POSS 2018)L'audit en continu : clé de la conformité démontrable (#POSS 2018)
L'audit en continu : clé de la conformité démontrable (#POSS 2018)
 
Fiabilité et conformité continues en production avec Rudder (#BBOOST 2018)
Fiabilité et conformité continues en production avec Rudder (#BBOOST 2018)Fiabilité et conformité continues en production avec Rudder (#BBOOST 2018)
Fiabilité et conformité continues en production avec Rudder (#BBOOST 2018)
 
Stay up - voyage d'un éditeur de logiciels libres
Stay up - voyage d'un éditeur de logiciels libresStay up - voyage d'un éditeur de logiciels libres
Stay up - voyage d'un éditeur de logiciels libres
 
How we scaled Rudder to 10k, and the road to 50k
How we scaled Rudder to 10k, and the road to 50kHow we scaled Rudder to 10k, and the road to 50k
How we scaled Rudder to 10k, and the road to 50k
 
What's new and what's next in Rudder
What's new and what's next in RudderWhat's new and what's next in Rudder
What's new and what's next in Rudder
 
Poss 2017 : gestion des configurations et mise en conformité chez un service ...
Poss 2017 : gestion des configurations et mise en conformité chez un service ...Poss 2017 : gestion des configurations et mise en conformité chez un service ...
Poss 2017 : gestion des configurations et mise en conformité chez un service ...
 
Poss 2017 - la continuité, arme secrète de la gestion du si - cas concret de ...
Poss 2017 - la continuité, arme secrète de la gestion du si - cas concret de ...Poss 2017 - la continuité, arme secrète de la gestion du si - cas concret de ...
Poss 2017 - la continuité, arme secrète de la gestion du si - cas concret de ...
 
POSS 2017 : Comment automatiser son infrastructure quand... on a pas le temps...
POSS 2017 : Comment automatiser son infrastructure quand... on a pas le temps...POSS 2017 : Comment automatiser son infrastructure quand... on a pas le temps...
POSS 2017 : Comment automatiser son infrastructure quand... on a pas le temps...
 
DevOps D-Day 2017 - Gestion des configurations et mise en conformité chez un ...
DevOps D-Day 2017 - Gestion des configurations et mise en conformité chez un ...DevOps D-Day 2017 - Gestion des configurations et mise en conformité chez un ...
DevOps D-Day 2017 - Gestion des configurations et mise en conformité chez un ...
 
RUDDER - Continuous Configuration (configuration management + continuous aud...
 RUDDER - Continuous Configuration (configuration management + continuous aud... RUDDER - Continuous Configuration (configuration management + continuous aud...
RUDDER - Continuous Configuration (configuration management + continuous aud...
 
RUDDER - Continuous Configuration (configuration management + continuous audi...
RUDDER - Continuous Configuration (configuration management + continuous audi...RUDDER - Continuous Configuration (configuration management + continuous audi...
RUDDER - Continuous Configuration (configuration management + continuous audi...
 
OSIS 2017 - Scala REX dans Rudder
OSIS 2017 - Scala REX dans Rudder OSIS 2017 - Scala REX dans Rudder
OSIS 2017 - Scala REX dans Rudder
 
Automating the manual - feedback on including existing systems in configurati...
Automating the manual - feedback on including existing systems in configurati...Automating the manual - feedback on including existing systems in configurati...
Automating the manual - feedback on including existing systems in configurati...
 
Getting data into Rudder
Getting data into RudderGetting data into Rudder
Getting data into Rudder
 
Automate your automation with Rudder’s API! \o/
Automate your automation with Rudder’s API! \o/Automate your automation with Rudder’s API! \o/
Automate your automation with Rudder’s API! \o/
 
Rudder: what's new and what's next? Roadmap, vision and thoughts
Rudder: what's new and what's next? Roadmap, vision and thoughtsRudder: what's new and what's next? Roadmap, vision and thoughts
Rudder: what's new and what's next? Roadmap, vision and thoughts
 
Automatisation applicative vs automatisation système - LibDay 2016
Automatisation applicative vs automatisation système - LibDay 2016Automatisation applicative vs automatisation système - LibDay 2016
Automatisation applicative vs automatisation système - LibDay 2016
 

Dernier

+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@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
+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...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
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...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 

Automate quality just like you automate servers

  • 1. Automate quality just like you automate servers Benoît PECCATTE bpe@normation.com
  • 2. Normation – Tous droits réservés CONFIDENTIEL normation.com When you have to, create your tool
  • 3. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality A bad workman blames his tools
  • 4. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality A good workman polishes his tools
  • 5. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality A good workman polishes his tools → The right tool for the right job → Specific tool for specific job → Each company process is specific
  • 6. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality Tool benefits is not measured in dollars →free mind →free time →complex things become simple →process is always followed →process can evolve more easily →newcomers can embark quickly
  • 7. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality Writing costs
  • 8. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality Real writing costs Implementation cost (days) Time won per task Persons using it Days per year Time won (days) 1 1 min 4 200 1 10 10 min 4 200 10 1 20s 12 200 1
  • 9. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality Writing cost A word about context switch
  • 10. Normation – Tous droits réservés CONFIDENTIEL normation.com Context switch funny cat
  • 11. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality Writing cost A word about context switch
  • 12. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality You can do it now 1. Have APIs 2. Call those API for the task you do the most 3. Find source of information to automatically fill parameters to this APIs 4. Update your process 5. Rinse and repeat
  • 13. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality I got a tool used by everyone →We added tasks to the process without bothering anyone
  • 14. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality Before: - open an issue (in your browser) - check that no one else is working on it - look for the target version, branch and status - checkout your repo - create a new branch with a name based on the issue fields - Code ! - add files - commit with a comment containing the issue title and ID - push to your repo - create a pull request with a meaningful title based on you code and the right branch - add the PR url to the issue - assign the issue to a reviewer and change the status Hope that we are done with the review
  • 15. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality After: - rudder-dev <issue-id> - Code ! - add files - rudder-dev <reviewer> Be happy to follow the review process
  • 16. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality Other commands: rudder-dev blame $ rudder-dev blame agent-run Blaming file agent-run $ git blame -s -w --abbrev=6 agent-run 8088292 F #5791 1) #!/bin/sh 8088292 F #5791 2) # @description force run agent promises 29c7bc5 F #6659 3) # @man This command will force the agent to enforce current policies. 29c7bc5 F #6659 4) # @man You can run *rudder agent update* before to update the promises. 4945a30 F #6731 5) # @man + 4945a30 F #6731 6) # @man *Options*: 4945a30 F #6731 7) # @man + 90002b4 F #7824 8) # @man *-u*: update policy before running the agent (default is to run existing policy)
  • 17. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality Other commands: rudder-dev quickfix ● Edit a file in a committed repo ● rudder-dev quickfix “there was an issue” → A bug is opened with the title → A PR is created with the content of the diff → done
  • 18. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality Other commands: rudder-dev subtask An error in your last PR, call rudder-dev subtask ! → a properly categorized bug is created and linked to the original issue → a branch is then based on this ticket → just work on it
  • 19. Normation – Tous droits réservés CONFIDENTIEL normation.com Automate quality Other commands: rudder-dev revert A problem has been discovered with a specific PR ? Call rudder-dev revert → it find the commit associated with PR → it reverts it → it updates the ticket
  • 20. Normation – Tous droits réservés CONFIDENTIEL normation.com Opensource https://github.com/Normation/rudder-tools/tree/mas ter/scripts/rudder-dev
  • 21. Normation – Tous droits réservés CONFIDENTIEL normation.com What next ? Automate reviews
  • 22. Normation – Tous droits réservés CONFIDENTIEL normation.com
  • 23. Normation – 87 rue de Turbigo, 75003 PARIS, France –Normation – 87 rue de Turbigo, 75003 PARIS, France – contact@normation.comcontact@normation.com – 01.83.62.26.96 –– 01.83.62.26.96 – http://www.normation.com/http://www.normation.com/ Automate quality just like you automate servers Benoît PECCATTE bpe@normation.com