The Rise of Machines: Real World Applications of AI
Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.
Το GoCD είναι ένα σύστημα συνεχούς παράδοσης και αυτοματισμού ανοιχτού κώδικα. Σας επιτρέπει να μοντελοποιείτε πολύπλοκες ροές εργασίας χρησιμοποιώντας την παράλληλη και διαδοχική εκτέλεσή της. Ο χάρτης ροής αξίας σάς επιτρέπει να οπτικοποιείτε εύκολα μια περίπλοκη ροή εργασίας με ευκολία. Το GoCD σάς επιτρέπει να συγκρίνετε εύκολα δύο εκδόσεις και να αναπτύξετε οποιαδήποτε έκδοση της εφαρμογής θέλετε. Το οικοσύστημα GoCD αποτελείται από διακομιστή GoCD και παράγοντα GoCD. Το GoCD είναι υπεύθυνο για τον έλεγχο των πάντων, όπως η εκτέλεση της διεπαφής χρήστη που βασίζεται στο web και η διαχείριση και η παροχή εργασιών στον πράκτορα. Οι πράκτορες Go είναι υπεύθυνοι για την εκτέλεση των εργασιών και των αναπτύξεων.
Για αυτό το σεμινάριο, θα χρησιμοποιήσουμε 192.168.1.1
ως δημόσια διεύθυνση IP και gocd.example.com
ως όνομα τομέα που δείχνει προς την παρουσία του Vultr. Βεβαιωθείτε ότι έχετε αντικαταστήσει όλες τις εμφανίσεις του παραδείγματος ονόματος τομέα και διεύθυνσης IP με την πραγματική.
Ενημερώστε το βασικό σας σύστημα χρησιμοποιώντας τον οδηγό Πώς να ενημερώσετε το Ubuntu 16.04 . Μόλις το σύστημά σας ενημερωθεί, προχωρήστε στην εγκατάσταση Java.
Το GoCD απαιτεί Java έκδοση 8 και υποστηρίζει τόσο Oracle Java όσο και OpenJDK. Προσθέστε το αποθετήριο Ubuntu για την Oracle Java 8.
sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update
Εγκαταστήστε την Oracle Java.
sudo apt -y install oracle-java8-installer
Ελέγξτε την έκδοση.
java -version
Θα δείτε την ακόλουθη έξοδο.
user@vultr:~$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
Ορίστε την προεπιλεγμένη διαδρομή για Java εγκαθιστώντας το ακόλουθο πακέτο.
sudo apt -y install oracle-java8-set-default
Μπορείτε να επαληθεύσετε εάν JAVA_HOME
έχει οριστεί εκτελώντας.
echo $JAVA_HOME
Θα δεις.
user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle
Εάν δεν βλέπετε καθόλου έξοδο, θα πρέπει να αποσυνδεθείτε από το τρέχον κέλυφος και να συνδεθείτε ξανά.
Εγκαταστήστε το επίσημο αποθετήριο του GoCD στο σύστημα.
echo "deb https://download.gocd.org /" | sudo tee /etc/apt/sources.list.d/gocd.list
curl https://download.gocd.org/GOCD-GPG-KEY.asc | sudo apt-key add -
sudo apt update
Εγκαταστήστε τον διακομιστή GoCD στο σύστημά σας.
sudo apt install -y go-server
Εκκινήστε το GoCD και ενεργοποιήστε το να ξεκινά αυτόματα κατά την εκκίνηση.
sudo systemctl start go-server
sudo systemctl enable go-server
Πριν αποκτήσουμε πρόσβαση στον πίνακα εργαλείων GoCD, ας δημιουργήσουμε έναν νέο κατάλογο για την αποθήκευση των τεχνουργημάτων. Τα τεχνουργήματα μπορούν να αποθηκευτούν στον ίδιο δίσκο στον οποίο είναι εγκατεστημένα το λειτουργικό σύστημα και οι εφαρμογές. Εναλλακτικά, μπορείτε να χρησιμοποιήσετε έναν αποκλειστικό δίσκο ή μονάδα αποθήκευσης μπλοκ για την αποθήκευση των τεχνουργημάτων.
Εάν θέλετε να χρησιμοποιήσετε τον ίδιο δίσκο για την αποθήκευση των τεχνουργημάτων, απλώς δημιουργήστε έναν νέο κατάλογο και παρέχετε την ιδιοκτησία στον χρήστη GoCD.
sudo mkdir /opt/artifacts
sudo chown -R go:go /opt/artifacts
Το λογισμικό GoCD συνιστά να χρησιμοποιήσετε ένα πρόσθετο διαμέρισμα ή μονάδα δίσκου για την αποθήκευση των τεχνουργημάτων. Σε μια πλατφόρμα συνεχούς ενοποίησης και παράδοσης, τα τεχνουργήματα δημιουργούνται πολύ συχνά. Ο χώρος στο δίσκο μειώνεται με την πάροδο του χρόνου όταν δημιουργούνται συνεχώς νέα τεχνουργήματα. Σε κάποιο στάδιο, το σύστημά σας θα εξαντληθεί από ελεύθερο χώρο στο δίσκο και οι υπηρεσίες που εκτελούνται στο σύστημά σας θα αποτύχουν. Για να ξεπεράσετε αυτό το ζήτημα, μπορείτε να επισυνάψετε μια νέα μονάδα αποθήκευσης μπλοκ Vultr για να αποθηκεύσετε τα τεχνουργήματα. Εάν εξακολουθείτε να θέλετε να χρησιμοποιήσετε την αποθήκευση τεχνουργημάτων στην ίδια μονάδα δίσκου, μεταβείτε στην ενότητα "Διαμόρφωση GoCD".
Αναπτύξτε μια νέα μονάδα αποθήκευσης μπλοκ και συνδέστε την στην παρουσία διακομιστή GoCD. Τώρα δημιουργήστε ένα νέο διαμέρισμα στη συσκευή αποθήκευσης μπλοκ.
sudo parted -s /dev/vdb mklabel gpt
sudo parted -s /dev/vdb unit mib mkpart primary 0% 100%
Δημιουργήστε το σύστημα αρχείων στο νέο δίσκο.
sudo mkfs.ext4 /dev/vdb1
Τοποθετήστε τη μονάδα αποθήκευσης μπλοκ.
sudo mkdir /mnt/artifacts
sudo cp /etc/fstab /etc/fstab.backup
echo "
/dev/vdb1 /mnt/artifacts ext4 defaults,noatime 0 0" | sudo tee -a /etc/fstab
sudo mount /mnt/artifacts
Τώρα, εκτελέστε df
και θα δείτε τη νέα μονάδα αποθήκευσης μπλοκ τοποθετημένη στο /mnt/artifacts
.
[user@vultr ~]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 20616252 6313892 13237464 33% /
...
/dev/vdb1 10188052 36888 9610596 1% /mnt/artifacts
Παρέχετε την ιδιοκτησία του καταλόγου στον χρήστη GoCD.
sudo chown -R go:go /mnt/artifacts
Τώρα μπορείτε να αποκτήσετε πρόσβαση στον πίνακα εργαλείων GoCD στο http://192.168.1.1:8153
. Για πρόσβαση στον πίνακα εργαλείων GoCD σε ασφαλή σύνδεση, αποκτήστε πρόσβαση https://192.168.1.1:8154
. Θα λάβετε ένα σφάλμα που δείχνει ότι τα πιστοποιητικά δεν είναι έγκυρα. Μπορείτε να αγνοήσετε με ασφάλεια το σφάλμα καθώς τα πιστοποιητικά είναι αυτο-υπογεγραμμένα. Για λόγους ασφαλείας, θα πρέπει πάντα να χρησιμοποιείτε τον πίνακα εργαλείων μέσω μιας ασφαλούς σύνδεσης.
Προτού ρυθμίσετε μια νέα διοχέτευση, μεταβείτε στο " Admin >> Server Configuration
" από την επάνω γραμμή πλοήγησης.
Εισαγάγετε τη διεύθυνση URL στον μη Site URL
ασφαλή ιστότοπο στο πεδίο " " και τον ασφαλή ιστότοπο στο πεδίο " Secure Site URL
".
Στη συνέχεια, δώστε τα στοιχεία του διακομιστή SMTP για αποστολή ειδοποιήσεων μέσω email από το GoCD.
Τέλος, δώστε τη διαδρομή προς την τοποθεσία όπου θέλετε να αποθηκεύσετε τα τεχνουργήματα. Εάν έχετε επιλέξει να αποθηκεύσετε τα τεχνουργήματα στον ίδιο δίσκο με το λειτουργικό σύστημα, πληκτρολογήστε /opt/artifacts
; εάν έχετε επιλέξει να επισυνάψετε μια μονάδα αποθήκευσης μπλοκ, τότε μπορείτε να εισαγάγετε /mnt/artifacts
.
Μπορείτε επίσης να διαμορφώσετε το GoCD ώστε να διαγράφει αυτόματα τα παλιά αντικείμενα. Διαμορφώστε την επόμενη επιλογή ανάλογα με το μέγεθος του δίσκου σας. Ωστόσο, η επιλογή αυτόματης διαγραφής δεν λαμβάνει αντίγραφο ασφαλείας των παλιών σας τεχνουργημάτων. Για να δημιουργήσετε μη αυτόματα αντίγραφο ασφαλείας και στη συνέχεια να διαγράψετε τα παλιά αντικείμενα, απενεργοποιήστε την αυτόματη διαγραφή επιλέγοντας την επιλογή " Never
" για την Auto delete old artifacts
επιλογή " ".
Θα χρειαστεί να κάνετε επανεκκίνηση του διακομιστή GoCD, ώστε να εφαρμοστούν οι νέες αλλαγές.
sudo systemctl restart go-server
By default, the GoCD dashboard is not configured to use any kind of authentication, but it supports authentication using a password file and LDAP. In this tutorial, we will set up password-based authentication.
Note: Setting up authentication is an optional step, but it is strongly recommended for public facing servers, such as Vultr.
Install Apache tools so that we can use the htpasswd
command to create an encrypted password file.
sudo apt -y install apache2-utils
Create a password file with the htpasswd
command using Bcrypt encryption.
sudo htpasswd -B -c /etc/go/passwd_auth goadmin
Provide the password for the user twice. You will see the following output.
[user@vultr ~]$ sudo htpasswd -B -c /etc/go/passwd_auth goadmin
New password:
Re-type new password:
Adding password for user goadmin
You can add as many users as you want using the same command above, but remove the -c
option. The -c
option will replace the existing file, replacing old users with the new user.
sudo htpasswd -B /etc/go/passwd_auth gouser1
Now that we have created the password file, access the GoCD dashboard again. Navigate to "Admin >> Security >> Authorization Configurations
" from the top navigation bar. Click on the Add
button and provide any ID. Choose "Password File Authentication Plugin for GoCD
" for the plugin ID and direct the path to the password file. Now click on the "Check Connection
" button to verify that GoCD can use the password file for authentication.
Finally, save the authentication method. Reload the dashboard and it will automatically log you out. You will see a login screen now. Log in using the credentials created earlier.
You will need to promote the administrator user manually, otherwise, all the users will have administrator privileges. Navigate to "Admin >> User Summary
" from the top navigation bar.
Now select the admin user you've created and click on the "Roles
" drop-down. Promote the user to the only administrator by selecting the "Go System Administrator
" checkbox.
To add the users in GoCD created in the password file, click on the "ADD
" button and search for the user to add them. Users are also automatically added to the GoCD dashboard on their first login. Obviously, for users to log in, they must be added to the password file we have created earlier.
Από προεπιλογή, το GoCD ακούει σε θύρες 8153
και 8154
σε ασφαλείς συνδέσεις. Αν και η θύρα 8154
παρέχει μια ασφαλή σύνδεση με την εφαρμογή, εμφανίζει επίσης σφάλματα προγράμματος περιήγησης καθώς χρησιμοποιεί ένα αυτο-υπογεγραμμένο πιστοποιητικό. Σε αυτήν την ενότητα του σεμιναρίου, θα εγκαταστήσουμε και θα ασφαλίσουμε το Nginx με ένα δωρεάν πιστοποιητικό SSL Let's Encrypt. Ο διακομιστής web Nginx θα λειτουργεί ως αντίστροφος διακομιστής μεσολάβησης για την προώθηση των εισερχόμενων αιτημάτων στο HTTP
τελικό σημείο του GoCD .
Εγκαταστήστε το Nginx.
sudo apt -y install nginx
Ξεκινήστε το Nginx και ενεργοποιήστε το να ξεκινά αυτόματα κατά την εκκίνηση.
sudo systemctl start nginx
sudo systemctl enable nginx
Προσθέστε το αποθετήριο Certbot.
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
Εγκαταστήστε το Certbot, το οποίο είναι η εφαρμογή πελάτη για το Let's Encrypt CA.
sudo apt -y install certbot
Σημείωση : Για να αποκτήσετε πιστοποιητικά από το Let's Encrypt CA, ο τομέας για τον οποίο πρόκειται να δημιουργηθούν τα πιστοποιητικά πρέπει να κατευθύνεται προς τον διακομιστή. Εάν όχι, κάντε τις απαραίτητες αλλαγές στις εγγραφές DNS του τομέα και περιμένετε να διαδοθεί το DNS προτού υποβάλετε ξανά το αίτημα πιστοποιητικού. Το Certbot ελέγχει την αρχή τομέα πριν από την παροχή των πιστοποιητικών.
Δημιουργήστε τα πιστοποιητικά SSL.
sudo certbot certonly --webroot -w /var/www/html -d gocd.example.com
Τα πιστοποιητικά που δημιουργούνται είναι πιθανό να αποθηκευτούν στο /etc/letsencrypt/live/gocd.example.com/
. Το πιστοποιητικό SSL θα αποθηκευτεί ως fullchain.pem
και το ιδιωτικό κλειδί θα αποθηκευτεί ως privkey.pem
.
Ας κρυπτογραφήσουμε τα πιστοποιητικά λήγουν σε 90 ημέρες, επομένως συνιστάται να ρυθμίσετε την αυτόματη ανανέωση των πιστοποιητικών χρησιμοποιώντας εργασίες cron.
Ανοίξτε το αρχείο εργασίας cron.
sudo crontab -e
Προσθέστε την ακόλουθη γραμμή στο τέλος του αρχείου.
30 5 * * * /usr/bin/certbot renew --quiet
Η παραπάνω εργασία cron θα εκτελείται καθημερινά στις 5:30 π.μ. Εάν το πιστοποιητικό πρόκειται να λήξει, θα ανανεωθεί αυτόματα.
Δημιουργήστε ένα νέο αρχείο διαμόρφωσης για τη διεπαφή ιστού GoCD.
sudo nano /etc/nginx/sites-available/gocd
Συμπληρώστε το αρχείο.
upstream gocd {
server 127.0.0.1:8153;
}
server {
listen 80;
server_name gocd.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name gocd.example.com;
ssl_certificate /etc/letsencrypt/live/gocd.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/gocd.example.com/privkey.pem;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/gocd.access.log;
location / {
proxy_pass http://gocd;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
}
location /go {
proxy_pass http://gocd/go;
proxy_http_version 1.1;
proxy_set_header Upgrade websocket;
proxy_set_header Connection upgrade;
proxy_read_timeout 86400;
}
}
Ενεργοποιήστε το αρχείο διαμόρφωσης.
sudo ln -s /etc/nginx/sites-available/gocd /etc/nginx/sites-enabled/gocd
Επανεκκινήστε τον διακομιστή ιστού Nginx για να εφαρμόσετε την αλλαγή στη διαμόρφωση.
sudo systemctl restart nginx
Τώρα μπορείτε να αποκτήσετε πρόσβαση στον πίνακα εργαλείων GoCD στη διεύθυνση https://gocd.example.com
. Συνδεθείτε στον πίνακα ελέγχου σας χρησιμοποιώντας τα διαπιστευτήρια διαχειριστή και μεταβείτε στο " Admin >> Server Configuration
" από την επάνω γραμμή πλοήγησης.
Ρυθμίστε τα " Site URL
" και " Secure Site URL
" σε https://gocd.example.com
.
Στο περιβάλλον συνεχούς ολοκλήρωσης GoCD, οι πράκτορες GoCD είναι οι εργαζόμενοι που είναι υπεύθυνοι για την εκτέλεση όλων των εργασιών. Όταν εντοπίζεται μια αλλαγή στην πηγή, ενεργοποιείται η διοχέτευση και οι εργασίες ανατίθενται σε διαθέσιμους εργαζόμενους για εκτέλεση. Στη συνέχεια, ο πράκτορας εκτελεί την εργασία και αναφέρει την τελική κατάσταση μετά την εκτέλεση.
Για να εκτελέσετε μια διοχέτευση, πρέπει να διαμορφωθεί τουλάχιστον ένας πράκτορας. Προχωρήστε στην εγκατάσταση του παράγοντα GoCD στον διακομιστή GoCD.
Εφόσον έχουμε ήδη εισαγάγει το αποθετήριο GoCD στον διακομιστή, μπορούμε να εγκαταστήσουμε απευθείας το Go Agent.
sudo apt install -y go-agent
Τώρα, ξεκινήστε τον διακομιστή GoCD και ενεργοποιήστε τον να ξεκινά αυτόματα κατά την εκκίνηση.
sudo systemctl start go-agent
sudo systemctl enable go-agent
Ο παράγοντας GoCD που εκτελείται στον localhost ενεργοποιείται αυτόματα όταν εντοπιστεί.
Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.
Είστε επίσης θύμα των επιθέσεων DDOS και έχετε μπερδευτεί σχετικά με τις μεθόδους πρόληψης; Διαβάστε αυτό το άρθρο για να λύσετε τις απορίες σας.
Μπορεί να έχετε ακούσει ότι οι χάκερ κερδίζουν πολλά χρήματα, αλλά έχετε αναρωτηθεί ποτέ πώς κερδίζουν τέτοια χρήματα; ας συζητήσουμε.
Θέλετε να δείτε επαναστατικές εφευρέσεις της Google και πώς αυτές οι εφευρέσεις άλλαξαν τη ζωή κάθε ανθρώπου σήμερα; Στη συνέχεια, διαβάστε στο blog για να δείτε τις εφευρέσεις της Google.
Η ιδέα των αυτοκινούμενων αυτοκινήτων να βγαίνουν στους δρόμους με τη βοήθεια της τεχνητής νοημοσύνης είναι ένα όνειρο που έχουμε εδώ και καιρό. Όμως, παρά τις πολλές υποσχέσεις, δεν φαίνονται πουθενά. Διαβάστε αυτό το blog για να μάθετε περισσότερα…
Καθώς η Επιστήμη εξελίσσεται με γρήγορους ρυθμούς, αναλαμβάνοντας πολλές από τις προσπάθειές μας, αυξάνονται και οι κίνδυνοι να υποβάλλουμε τον εαυτό μας σε μια ανεξήγητη Ιδιότητα. Διαβάστε τι σημαίνει η μοναδικότητα για εμάς.
Οι μέθοδοι αποθήκευσης των δεδομένων εξελίσσονται μπορεί να είναι από τη γέννηση των Δεδομένων. Αυτό το ιστολόγιο καλύπτει την εξέλιξη της αποθήκευσης δεδομένων με βάση ένα infographic.
Διαβάστε το ιστολόγιο για να μάθετε διαφορετικά επίπεδα στην Αρχιτεκτονική Μεγάλων Δεδομένων και τις λειτουργίες τους με τον απλούστερο τρόπο.
Σε αυτόν τον ψηφιακό κόσμο, οι έξυπνες οικιακές συσκευές έχουν γίνει κρίσιμο μέρος της ζωής. Ακολουθούν μερικά εκπληκτικά οφέλη των έξυπνων οικιακών συσκευών σχετικά με το πώς κάνουν τη ζωή μας να αξίζει και να απλοποιείται.
Πρόσφατα, η Apple κυκλοφόρησε το macOS Catalina 10.15.4 μια συμπληρωματική ενημέρωση για την επιδιόρθωση προβλημάτων, αλλά φαίνεται ότι η ενημέρωση προκαλεί περισσότερα προβλήματα που οδηγούν σε bricking των μηχανών mac. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα