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

More Related Content

PPTX
Segmentation fault (Web - Site - Project)
PPTX
SoDaNet in Action: Παρουσίαση / Εκπαίδευση στη χρήση των Εφαρμογών της Υποδομ...
PPTX
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
PPTX
Dimitris Niras
PDF
Υπηρεσία Μίας Στάσης για την σύσταση επιχειρήσεων και ανοικτό λογισμικό
PPT
Continous integration with jenkins
PPTX
Τεχνολογική επισκόπηση
PPTX
Ανάλυση διαλόγων προγραμματιστών με το ChatGPT
Segmentation fault (Web - Site - Project)
SoDaNet in Action: Παρουσίαση / Εκπαίδευση στη χρήση των Εφαρμογών της Υποδομ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Dimitris Niras
Υπηρεσία Μίας Στάσης για την σύσταση επιχειρήσεων και ανοικτό λογισμικό
Continous integration with jenkins
Τεχνολογική επισκόπηση
Ανάλυση διαλόγων προγραμματιστών με το ChatGPT

Similar to Andreas Hadjithomas (20)

PPTX
Comidor Presentation II
PDF
Γ. Καραμανώλης Σύμβουλος Πληροφορικής & Διαφάνεια
PPT
Introduction
PPTX
Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή διαδικασίας αρχικής προσφοράς ...
PPTX
Presentation 6 (1)
PPTX
Presentation 6
PPTX
Presentation 6
PPTX
Presentation 6
PPTX
Presentation 6 (1)
DOCX
Μαϊτης Αντώνιος
PPTX
Development of an automatic procedure for Continuous Integration
PPTX
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
PPTX
User experience: UCD for the Web
PPTX
10 Web 2.0 Tools
PDF
Παρουσίαση Smart
PPTX
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
PPTX
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
PPT
15 Web2.0 tools added
PDF
Presentation psi - καινοτομώντας με ανοικτά δεδομένα
PPT
Ergaleia
Comidor Presentation II
Γ. Καραμανώλης Σύμβουλος Πληροφορικής & Διαφάνεια
Introduction
Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή διαδικασίας αρχικής προσφοράς ...
Presentation 6 (1)
Presentation 6
Presentation 6
Presentation 6
Presentation 6 (1)
Μαϊτης Αντώνιος
Development of an automatic procedure for Continuous Integration
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
User experience: UCD for the Web
10 Web 2.0 Tools
Παρουσίαση Smart
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
15 Web2.0 tools added
Presentation psi - καινοτομώντας με ανοικτά δεδομένα
Ergaleia
Ad

More from ISSEL (20)

PPTX
A hybrid Edge-to-Cloud Architecture towards low-code development of global fo...
PPTX
Upon evaluating source code generated by LLMs and improving the prompt engine...
PPTX
Implementation of a recording and playback tool for data served by IoT brokers
PPTX
Source Code Bug Detection and Repair using Deep Learning Techniques
PPTX
Implementation of a Mechanism for Automatic Transformation and Synchronizatio...
PPTX
Bias detection and evaluation in personalized ubiquitous computing
PPTX
Development of a Data Stream Prediction Methodology using AutoML models
PPTX
Methodology and prototype design for the identification of recyclable materia...
PPTX
DynaCraft: a super-strongly typed programming language
PPTX
Applying Machine Learning Techniques on Software Data Streams for Automated I...
PPTX
Application of Drift Detection and Management Techniques in Data Streams Usin...
PPTX
Υλοποίηση συστήματος προς καταχώρηση και αυτόματη αναγνώριση κατηγοριών κινήσ...
PDF
Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή π...
PPTX
Μελέτη Τεχνικών Ημι-επιβλεπόμενης Μάθησης για Κατηγοριοποίηση Κειμένου
PPTX
Υλοποίηση συστήµατος εντοπισµού ϑέσης σε εσωτερικό χώρο µε χρήση αισθητήρων κ...
PPTX
Σχεδίαση και Ανάπτυξη Μηχανισμού Εκτίμησης προσωποποιημένου Χρόνου Εκτέλεσης ...
PPTX
Ανάπτυξη Μοντέλου Διόρθωσης Γραμματικών Λαθών για την Ελληνική Γλώσσα.pptx
PPTX
Εντοπισμός και χαρτογράφηση ατελειών οδοστρώματος κατά την οδήγηση μέσω αισθη...
PDF
Ταχεία ανάπτυξη λογισμικού για πράκτορες συναλλαγών υψηλής συχνότητας σε αγορ...
PPTX
Σχεδιασµός και υλοποίηση αρθρωτού συστήµατος υπολογισµού τρισδιάστατης θέσης ...
A hybrid Edge-to-Cloud Architecture towards low-code development of global fo...
Upon evaluating source code generated by LLMs and improving the prompt engine...
Implementation of a recording and playback tool for data served by IoT brokers
Source Code Bug Detection and Repair using Deep Learning Techniques
Implementation of a Mechanism for Automatic Transformation and Synchronizatio...
Bias detection and evaluation in personalized ubiquitous computing
Development of a Data Stream Prediction Methodology using AutoML models
Methodology and prototype design for the identification of recyclable materia...
DynaCraft: a super-strongly typed programming language
Applying Machine Learning Techniques on Software Data Streams for Automated I...
Application of Drift Detection and Management Techniques in Data Streams Usin...
Υλοποίηση συστήματος προς καταχώρηση και αυτόματη αναγνώριση κατηγοριών κινήσ...
Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή π...
Μελέτη Τεχνικών Ημι-επιβλεπόμενης Μάθησης για Κατηγοριοποίηση Κειμένου
Υλοποίηση συστήµατος εντοπισµού ϑέσης σε εσωτερικό χώρο µε χρήση αισθητήρων κ...
Σχεδίαση και Ανάπτυξη Μηχανισμού Εκτίμησης προσωποποιημένου Χρόνου Εκτέλεσης ...
Ανάπτυξη Μοντέλου Διόρθωσης Γραμματικών Λαθών για την Ελληνική Γλώσσα.pptx
Εντοπισμός και χαρτογράφηση ατελειών οδοστρώματος κατά την οδήγηση μέσω αισθη...
Ταχεία ανάπτυξη λογισμικού για πράκτορες συναλλαγών υψηλής συχνότητας σε αγορ...
Σχεδιασµός και υλοποίηση αρθρωτού συστήµατος υπολογισµού τρισδιάστατης θέσης ...
Ad

Andreas Hadjithomas

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