Top Banner
Υλοποίηση ChatOps Bot με τη χρήση του Hubot Framework ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Επιβλέποντες: Επίκουρος Καθηγητής κ. Ανδρέας Λ. Συμεωνίδης Μεταδιδακτορικός Ερευνητής κ. Κυριάκος Χατζηδημητρίου Διπλωματική εργασία του: Χατζηθωμά Ανδρέα ΑΕΜ: 8026 Νοέμβριος, 2017
23

Andreas Hadjithomas

Jan 22, 2018

Download

Education

ISSEL
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Andreas Hadjithomas

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

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών ΥπολογιστώνΕργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών

Επιβλέποντες:

Επίκουρος Καθηγητής κ. Ανδρέας Λ. ΣυμεωνίδηςΜεταδιδακτορικός Ερευνητής κ. Κυριάκος Χατζηδημητρίου

Διπλωματική εργασία του:Χατζηθωμά Ανδρέα

ΑΕΜ: 8026

Νοέμβριος, 2017

Page 2: Andreas Hadjithomas

Κίνητρο

2

Χρονοβόρα & επίπονη διαδικασία

Μεγάλα συστήματα λογισμικού

Συνεργασία πολλών ατόμων/ομάδων

Συνδυασμός διαφόρων υπηρεσιών, εργαλείων και τεχνολογιών

Περισσότερες απαιτήσεις για ανάπτυξη λογισμικού

Εξέλιξη τεχνολογίας με ραγδαίους ρυθμούς

Page 3: Andreas Hadjithomas

Σκοπός διπλωματικής εργασίας

Υλοποίηση ChatOps Bot

• DevOps + Chat = ChatOps

3

Κοινωνικά Πλεονεκτήματα

•Αύξηση προβολής & επίγνωσης

•Αύξηση ανταλλαγής γνώσεων & εκμάθησης

Τεχνικά Πλεονεκτήματα

•Αυτόματη καταγραφή γεγονότων

•Αυτοματοποίηση ενεργειών

•Μείωση χρήσης email

⇒ Οι ομάδες λειτουργούν και συνεργάζονται καλύτερα, φθηνότερα και γρηγορότερα

Page 4: Andreas Hadjithomas

Γνώσεις που αποκτήθηκαν

4

Page 5: Andreas Hadjithomas

Μεθοδολογία

▪ Αλληλεπίδραση με υπηρεσίες (εκτέλεση ενεργειών & ενημέρωση γεγονότων)

▪ GitHub

▪ Trello

▪ Jenkins

▪ Αυθεντικοποίηση χρηστών (User Authentication)

▪ Αναγνώριση φυσικής γλώσσας (NLU)

▪ Standup Meetings – Daily Reports

▪ Server-less αρχιτεκτονική

5

Page 6: Andreas Hadjithomas

Μεθοδολογία – Δομή Συστήματος

6

Page 7: Andreas Hadjithomas

GitHub Integration

▪ Αυθεντικοποίηση χρηστών (OAuth v2 & JWT)

▪ Αυτόματες ενημερώσεις (Webhooks)

▪ Ό,τι συμβαίνει σε έναν οργανισμό/λογαριασμό

▪ Εκτέλεση διαφόρων ενεργειών

▪ Δημιουργία: Issues, Pull Requests

▪ Προβολή: Repositories, Issues, Pull Requests, Commits

▪ Προσθήκη σχολίων σε Ιssues

▪ Σύνοψη & ενημέρωση τελευταίων δραστηριοτήτων για κάθε χρήστη ξεχωριστά

▪ Άμεση ενημέρωση χρηστών για mentions σε σχόλια

7

Page 8: Andreas Hadjithomas

GitHub Integration Demo

8

Page 9: Andreas Hadjithomas

9

Page 10: Andreas Hadjithomas

Trello Integration

▪ Αυθεντικοποίηση χρηστών (OAuth v1)

▪ Αυτόματες ενημερώσεις (Webhooks)

▪ Ό,τι συμβαίνει σε προκαθορισμένα Boards και Cards

▪ Εκτέλεση διαφόρων ενεργειών

▪ Προβολή: Boards, Cards

▪ Προσθήκη σχολίων σε Cards

▪ Σύνοψη και Ενημέρωση τελευταίων δραστηριοτήτων για κάθε χρήστη ξεχωριστά

▪ Άμεση ενημέρωση χρηστών για mentions σε comments

10

Page 11: Andreas Hadjithomas

Trello Integration Demo

11

Page 12: Andreas Hadjithomas

12

Page 13: Andreas Hadjithomas

Jenkins Integration

▪ Αυθεντικοποίηση χρηστών (manually)

▪ Αυτόματες ενημερώσεις (Webhooks)

▪ Για Build Status

▪ Εκτέλεση διαφόρων ενεργειών

▪ Έναρξη Build

▪ Προβολή των Builds (κονσόλας, κατάστασης) και των Jobs

13

Page 14: Andreas Hadjithomas

Jenkins Integration Demo

14

Page 15: Andreas Hadjithomas

15

Page 16: Andreas Hadjithomas

Standups – Daily Reports

▪ Καταχώρηση της αναφοράς κάθε χρήστη

▪ Χειροκίνητη έναρξη

▪ Αυτόματη έναρξη

▪ Δημοσίευση αναφορών σε κοινόχρηστο Channel

▪ Αποστολή με email

▪ Πλήρως προσαρμοσμένες αναφορές

▪ Ερωτήσεις

▪ Ημέρα και ώρα αυτόματης έναρξης

▪ Channel

16

Page 17: Andreas Hadjithomas

Standups – Daily Reports Demo

17

Page 18: Andreas Hadjithomas

18

Page 19: Andreas Hadjithomas

Dialogflow Integration

▪ Αναγνώριση φυσικής γλώσσας και πρόθεσης (Intent)

▪ Intent Score Threshold

19

Page 20: Andreas Hadjithomas

Πλεονεκτήματα

▪ Ταυτοποίηση κάθε χρήστη

▪ Δεν απαιτείται ξεχωριστός λογαριασμός για το Bot

▪ Requests εκ μέρους του κάθε χρήστη

▪ Εύκολη επεκτασιμότητα

▪ Δεν απαιτείται η αποστήθιση κάθε εντολής

▪ Εύκολη εγκατάσταση

▪ Εντελώς δωρεάν

▪ Χρήση από PCs και Smartphones

20

Page 21: Andreas Hadjithomas

Μελλοντική Επέκταση

▪ Ανάπτυξη ταμπλό (dashboard) ρυθμίσεων

▪ Ανάπτυξη περισσότερων λειτουργιών στα ήδη υπάρχων Integrations

▪ Προσθήκη περισσότερων Integrations

21

Page 22: Andreas Hadjithomas

Ευχαριστίες

Ευχαριστώ θερμά τους:

κ. Ανδρέα Λ. Συμεωνίδη, Επίκουρος Καθηγητής

κ. Κυριάκο Χατζηδημητρίου, Μεταδιδακτορικός Ερευνητής

Όλους εσάς για την προσοχή σας

22

Page 23: Andreas Hadjithomas

Ερωτήσεις;

23