Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Andreas Hadjithomas

91 views

Published on

Υλοποίηση ChatOps Bot με τη χρήση του Hubot Framework

Published in: Education
  • Be the first to comment

  • Be the first to like this

Andreas Hadjithomas

  1. 1. Υλοποίηση ChatOps Bot με τη χρήση του Hubot Framework ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Επιβλέποντες: Επίκουρος Καθηγητής κ. Ανδρέας Λ. Συμεωνίδης Μεταδιδακτορικός Ερευνητής κ. Κυριάκος Χατζηδημητρίου Διπλωματική εργασία του: Χατζηθωμά Ανδρέα ΑΕΜ: 8026 Νοέμβριος, 2017
  2. 2. Κίνητρο 2 Χρονοβόρα & επίπονη διαδικασία Μεγάλα συστήματα λογισμικού Συνεργασία πολλών ατόμων/ομάδων Συνδυασμός διαφόρων υπηρεσιών, εργαλείων και τεχνολογιών Περισσότερες απαιτήσεις για ανάπτυξη λογισμικού Εξέλιξη τεχνολογίας με ραγδαίους ρυθμούς
  3. 3. Σκοπός διπλωματικής εργασίας Υλοποίηση ChatOps Bot • DevOps + Chat = ChatOps 3 Κοινωνικά Πλεονεκτήματα •Αύξηση προβολής & επίγνωσης •Αύξηση ανταλλαγής γνώσεων & εκμάθησης Τεχνικά Πλεονεκτήματα •Αυτόματη καταγραφή γεγονότων •Αυτοματοποίηση ενεργειών •Μείωση χρήσης email ⇒ Οι ομάδες λειτουργούν και συνεργάζονται καλύτερα, φθηνότερα και γρηγορότερα
  4. 4. Γνώσεις που αποκτήθηκαν 4
  5. 5. Μεθοδολογία ▪ Αλληλεπίδραση με υπηρεσίες (εκτέλεση ενεργειών & ενημέρωση γεγονότων) ▪ GitHub ▪ Trello ▪ Jenkins ▪ Αυθεντικοποίηση χρηστών (User Authentication) ▪ Αναγνώριση φυσικής γλώσσας (NLU) ▪ Standup Meetings – Daily Reports ▪ Server-less αρχιτεκτονική 5
  6. 6. Μεθοδολογία – Δομή Συστήματος 6
  7. 7. GitHub Integration ▪ Αυθεντικοποίηση χρηστών (OAuth v2 & JWT) ▪ Αυτόματες ενημερώσεις (Webhooks) ▪ Ό,τι συμβαίνει σε έναν οργανισμό/λογαριασμό ▪ Εκτέλεση διαφόρων ενεργειών ▪ Δημιουργία: Issues, Pull Requests ▪ Προβολή: Repositories, Issues, Pull Requests, Commits ▪ Προσθήκη σχολίων σε Ιssues ▪ Σύνοψη & ενημέρωση τελευταίων δραστηριοτήτων για κάθε χρήστη ξεχωριστά ▪ Άμεση ενημέρωση χρηστών για mentions σε σχόλια 7
  8. 8. GitHub Integration Demo 8
  9. 9. 9
  10. 10. Trello Integration ▪ Αυθεντικοποίηση χρηστών (OAuth v1) ▪ Αυτόματες ενημερώσεις (Webhooks) ▪ Ό,τι συμβαίνει σε προκαθορισμένα Boards και Cards ▪ Εκτέλεση διαφόρων ενεργειών ▪ Προβολή: Boards, Cards ▪ Προσθήκη σχολίων σε Cards ▪ Σύνοψη και Ενημέρωση τελευταίων δραστηριοτήτων για κάθε χρήστη ξεχωριστά ▪ Άμεση ενημέρωση χρηστών για mentions σε comments 10
  11. 11. Trello Integration Demo 11
  12. 12. 12
  13. 13. Jenkins Integration ▪ Αυθεντικοποίηση χρηστών (manually) ▪ Αυτόματες ενημερώσεις (Webhooks) ▪ Για Build Status ▪ Εκτέλεση διαφόρων ενεργειών ▪ Έναρξη Build ▪ Προβολή των Builds (κονσόλας, κατάστασης) και των Jobs 13
  14. 14. Jenkins Integration Demo 14
  15. 15. 15
  16. 16. Standups – Daily Reports ▪ Καταχώρηση της αναφοράς κάθε χρήστη ▪ Χειροκίνητη έναρξη ▪ Αυτόματη έναρξη ▪ Δημοσίευση αναφορών σε κοινόχρηστο Channel ▪ Αποστολή με email ▪ Πλήρως προσαρμοσμένες αναφορές ▪ Ερωτήσεις ▪ Ημέρα και ώρα αυτόματης έναρξης ▪ Channel 16
  17. 17. Standups – Daily Reports Demo 17
  18. 18. 18
  19. 19. Dialogflow Integration ▪ Αναγνώριση φυσικής γλώσσας και πρόθεσης (Intent) ▪ Intent Score Threshold 19
  20. 20. Πλεονεκτήματα ▪ Ταυτοποίηση κάθε χρήστη ▪ Δεν απαιτείται ξεχωριστός λογαριασμός για το Bot ▪ Requests εκ μέρους του κάθε χρήστη ▪ Εύκολη επεκτασιμότητα ▪ Δεν απαιτείται η αποστήθιση κάθε εντολής ▪ Εύκολη εγκατάσταση ▪ Εντελώς δωρεάν ▪ Χρήση από PCs και Smartphones 20
  21. 21. Μελλοντική Επέκταση ▪ Ανάπτυξη ταμπλό (dashboard) ρυθμίσεων ▪ Ανάπτυξη περισσότερων λειτουργιών στα ήδη υπάρχων Integrations ▪ Προσθήκη περισσότερων Integrations 21
  22. 22. Ευχαριστίες Ευχαριστώ θερμά τους:  κ. Ανδρέα Λ. Συμεωνίδη, Επίκουρος Καθηγητής  κ. Κυριάκο Χατζηδημητρίου, Μεταδιδακτορικός Ερευνητής  Όλους εσάς για την προσοχή σας 22
  23. 23. Ερωτήσεις; 23

×