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

Keeping hundreds of code repositories consisten...

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →

Keeping hundreds of code repositories consistent.. and staying sane !

In a micro-services environment, code repositories tend to multiply very quickly. Getting an accurate view of their config can be a challenge, so here are 2 tools that cqn help a lot : GitHub crawler and CI-droid

Avatar for Vincent Fuchs

Vincent Fuchs

March 22, 2019

Other Decks in Technology

Transcript

  1. WHO AM I ? @big_Vinz [email protected] 15 YEARS EXPERIENCE TOTAL,

    13 IN SOCIÉTÉ GÉNÉRALE Paris, New-York, Bangalore SUPPORT, DEV JAVA, TECH LEAD, TECH COACH, TECH ARCHITECT OPENSOURCE CONSUMER SINCE I STARTED .. Producer for past 2 years FOCUS Microservices, monitoring, « dev efficiency »
  2. MICROSERVICES – ONE TOOL PER PROBLEM We already have tools

    for :  API gateway (Zuul)  Service discovery (Consul)  Monitoring (ELK)  Tracing (Zipkin)  deploying (Containers)  Documenting (Open API)  ….
  3. TOOLS TO HELP MANAGING REPOSITORIES Accurate reporting on all repositories

    Github crawler Automate low value maintenance tasks Ci-droid
  4. SCREENSHOTS FROM DEMO Accurate reporting by repository / branch Dashboarding,

    thanks to Kibana. Breakdown of Spring Boot versions used on the platform
  5. GITHUB CRAWLER – HOW DOES IT WORK ? Basic config

    : Organization Which files Which indicators Which reporting using Github API Indicator reporting by repo/branch - Organization - repositories - files - indicators
  6. CI-DROID – WHICH TASKS CAN IT TAKE CARE OF ?

    Automatic rebase on mergeable PR Notification on non- mergeable PR PR analysis
  7. CI-DROID – HOW DOES IT WORK ? RabbitMq CI-droid GitHub

    CI-droid Webhook PullRequest events GitHub events CI-droid-tasks- consumer Instance 1 Push on default branch events Instance 2 Instance 3
  8. WHAT IF… … WE CONNECTED BOTH ? Github crawler collects

    data.. ..CI-droid performs actions on repositories
  9. CI-DROID – HOW DOES IT WORK ? RabbitMq CI-droid GitHub

    CI-droid Webhook PullRequest events GitHub events CI-droid-tasks- consumer Instance 1 Push on default branch events Instance 2 Instance 3
  10. CI-DROID – HOW DOES IT WORK ? RabbitMq CI-droid GitHub

    CI-droid Webhook PullRequest events GitHub events CI-droid-tasks- consumer Instance 1 Push on default branch events Instance 2 Instance 3 Action to perform Instance n CI-droid actions Swagger / postman / UI
  11. CI-DROID « BULK ACTIONS ».. IN ACTION ! OrgName/ OrgName/

    OrgName/ OrgName/ OrgName/ OrgName/ OrgName/ OrgName/ OrgName/ OrgName/ OrgName/ OrgName/ OrgName/
  12. ACTIONS CURRENTLY IN STOCK Out of the box, these actions

    are already available :  Overwrite/create a static file  Overwrite/create a file, based on a template  Simple replace in file  Replace an existing Maven profile  Add some XML content under a given Xpath  Remove an XML element (identified by its Xpath)  Remove a dependency or plugin in a pom.xml
  13. Implement it ! Share it ! AND IF YOU’RE NOT

    FINDING WHAT YOU’RE LOOKING FOR..
  14. QUESTIONS ? KEEPING HUNDREDS OF CODE REPOSITORIES CONSISTENT.. AND STAYING

    SANE ! Vincent FUCHS, SOCIÉTÉ GÉNÉRALE @big_Vinz [email protected] Github : https://github.com/societe-generale/