SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
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

Mais conteúdo relacionado

Mais de RUDDER

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?RUDDER
 
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?RUDDER
 
Fosdem - Configurations do you prove yours?
Fosdem - Configurations  do you prove yours?Fosdem - Configurations  do you prove yours?
Fosdem - Configurations do you prove yours?RUDDER
 
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)RUDDER
 
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)RUDDER
 
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 libresRUDDER
 
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 50kRUDDER
 
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 RudderRUDDER
 
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
 
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
 
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
 
OSIS 2017 - Scala REX dans Rudder
OSIS 2017 - Scala REX dans Rudder OSIS 2017 - Scala REX dans Rudder
OSIS 2017 - Scala REX dans Rudder 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...RUDDER
 
Getting data into Rudder
Getting data into RudderGetting data into Rudder
Getting data into RudderRUDDER
 
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
 
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 thoughtsRUDDER
 
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 2016RUDDER
 

Mais 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
 

Último

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 2024The Digital Insurer
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
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 Scriptwesley chun
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
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 textsMaria Levchenko
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
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 2024The Digital Insurer
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
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...apidays
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
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 organizationRadu Cotescu
 

Último (20)

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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
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
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
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...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
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
 

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