Πώς να εγκαταστήσετε και να ρυθμίσετε το Concourse CI στο Ubuntu 16.04

Εισαγωγή

Η συνεχής ενσωμάτωση είναι μια πρακτική ανάπτυξης λογισμικού DevOps που επιτρέπει στους προγραμματιστές να συγχωνεύουν συχνά τον τροποποιημένο κώδικα στο κοινόχρηστο αποθετήριο πολλές φορές την ημέρα. Μετά από κάθε συγχώνευση, εκτελούνται αυτόματες εκδόσεις και δοκιμές για τον εντοπισμό προβλημάτων στον κώδικα. Επιτρέπει στους προγραμματιστές να βρίσκουν και να επιλύουν γρήγορα τα σφάλματα για να βελτιώσουν την ποιότητα του λογισμικού και να παρέχουν συνεχή παράδοση του λογισμικού. Η εναλλαγή από το Concourse είναι πολύ εύκολη, καθώς διατηρεί όλες τις παραμέτρους του σε δηλωτικά αρχεία που μπορούν να ελεγχθούν στον έλεγχο έκδοσης. Παρέχει επίσης μια διεπαφή χρήστη Ιστού που εμφανίζει τις πληροφορίες κατασκευής διαδραστικά.

Συστατικά Συνεδρίου.
  • Το ATC είναι το κύριο συστατικό του Concourse. Είναι υπεύθυνο για την εκτέλεση της διεπαφής χρήστη και του API Ιστού. Φροντίζει επίσης για όλο τον προγραμματισμό των αγωγών.
  • Το TSA είναι ένας προσαρμοσμένος διακομιστής SSH. Είναι υπεύθυνο για την ασφαλή εγγραφή ενός εργαζομένου στο ATC.
  • Οι εργαζόμενοι εκτελούν περαιτέρω δύο διαφορετικές υπηρεσίες:
    1. Το Garden είναι ένας χρόνος εκτέλεσης κοντέινερ και μια διεπαφή για την ενορχήστρωση κοντέινερ εξ αποστάσεως σε έναν εργαζόμενο.
    2. Το Baggageclaim είναι ένας διακομιστής διαχείρισης κρυφής μνήμης και τεχνουργημάτων.
  • Το Fly είναι μια διεπαφή γραμμής εντολών που χρησιμοποιείται για την αλληλεπίδραση με το ATC για τη διαμόρφωση των αγωγών Concourse.

Προαπαιτούμενα

  • Μια παρουσία διακομιστή Vultr Ubuntu 16.04.
  • Ένας χρήστης sudo .

Φροντίστε να αντικαταστήσετε όλες τις εμφανίσεις 192.0.2.1 και ci.example.com με την πραγματική δημόσια διεύθυνση IP του Vultr και το πραγματικό όνομα τομέα σας.

Ενημερώστε το βασικό σας σύστημα χρησιμοποιώντας τον οδηγό Πώς να ενημερώσετε το Ubuntu 16.04 . Αφού ενημερωθεί το σύστημά σας, προχωρήστε στην εγκατάσταση της PostgreSQL.

Εγκαταστήστε και διαμορφώστε τη βάση δεδομένων PostgreSQL

Το PostgreSQL είναι ένα σύστημα σχεσιακής βάσης δεδομένων αντικειμένων. Το Concourse αποθηκεύει τα δεδομένα διοχέτευσης σε μια βάση δεδομένων PostgreSQL. Προσθέστε το αποθετήριο PostgreSQL.

echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update

Εγκαταστήστε τον διακομιστή βάσης δεδομένων PostgreSQL.

sudo apt -y install postgresql

Ξεκινήστε τον διακομιστή PostgreSQL και ενεργοποιήστε τον να ξεκινά αυτόματα κατά την εκκίνηση.

sudo systemctl start postgresql
sudo systemctl enable postgresql

Αλλάξτε τον κωδικό πρόσβασης για τον προεπιλεγμένο χρήστη PostgreSQL.

sudo passwd postgres

Συνδεθείτε ως χρήστης PostgreSQL:

sudo su - postgres

Δημιουργήστε έναν νέο χρήστη PostgreSQL για το Concourse CI.

createuser concourse

Σημείωση : Ο προεπιλεγμένος χρήστης PostgreSQL μπορεί να χρησιμοποιηθεί για τον έλεγχο ταυτότητας της βάσης δεδομένων, αλλά συνιστάται η χρήση αποκλειστικού χρήστη για τον έλεγχο ταυτότητας της βάσης δεδομένων Concourse σε μια εγκατάσταση παραγωγής.

Η PostgreSQL παρέχει ένα κέλυφος για την εκτέλεση ερωτημάτων στη βάση δεδομένων. Μεταβείτε στο κέλυφος PostgreSQL.

psql

Ορίστε έναν κωδικό πρόσβασης για τον νέο χρήστη της βάσης δεδομένων Concourse.

ALTER USER concourse WITH ENCRYPTED password 'DBPassword';

Σημαντικό : Αντικαταστήστε DBPassword με έναν ισχυρό κωδικό πρόσβασης. Σημειώστε τον κωδικό πρόσβασης, καθώς θα απαιτηθεί αργότερα στο σεμινάριο.

Δημιουργήστε μια νέα βάση δεδομένων για το Concourse.

CREATE DATABASE concourse OWNER concourse;

Βγείτε από το psql κέλυφος.

\q

Μετάβαση στον χρήστη sudo από τον τρέχοντα postgresχρήστη.

exit

Λήψη και εγκατάσταση του Concourse CI

Πραγματοποιήστε λήψη της πιο πρόσφατης έκδοσης του εκτελέσιμου Concourse και αποθηκεύστε το /usr/bin έτσι ώστε να μπορεί να εκτελεστεί απευθείας. Η πιο πρόσφατη έκδοση των δυαδικών αρχείων Concourse και Fly βρίσκεται στη σελίδα λήψης Concourse . Οι νέες κυκλοφορίες είναι πολύ συχνές. Αντικαταστήστε τον παρακάτω σύνδεσμο με τον νέο σύνδεσμο για την πιο πρόσφατη έκδοση.

sudo wget https://github.com/concourse/concourse/releases/download/v3.10.0/concourse_linux_amd64 -O /usr/bin/concourse

Ομοίως, πραγματοποιήστε λήψη της πιο πρόσφατης έκδοσης του εκτελέσιμου αρχείου fly και αποθηκεύστε το στο /usr/bin.

sudo wget https://github.com/concourse/concourse/releases/download/v3.10.0/fly_linux_amd64 -O /usr/bin/fly

Το Fly είναι η διεπαφή γραμμής εντολών που χρησιμοποιείται για τη σύνδεση στο ATC API του Concourse CI. Το Fly είναι διαθέσιμο για πολλές πλατφόρμες όπως Linux, Windows και MacOS.

Εκχωρήστε άδεια εκτέλεσης στα ληφθέντα concourse και fly δυαδικά αρχεία.

sudo chmod +x /usr/bin/concourse /usr/bin/fly

Ελέγξτε εάν τα Concourse and Fly λειτουργούν σωστά ελέγχοντας την έκδοσή τους.

concourse -version
fly -version

Δημιουργία και ρύθμιση κλειδιών RSA

Τα ζεύγη κλειδιών RSA παρέχουν έναν τρόπο κρυπτογράφησης της επικοινωνίας μεταξύ των στοιχείων του Concourse.

Για να λειτουργήσει το Concourse, πρέπει να δημιουργηθούν τουλάχιστον τρία ζεύγη κλειδιών. Για την κρυπτογράφηση των δεδομένων περιόδου λειτουργίας, δημιουργήστε ένα session_signing_key. Αυτό το κλειδί θα χρησιμοποιηθεί επίσης από την TSA για την υπογραφή των αιτημάτων που υποβάλλει στο ATC. Για να ασφαλίσετε τον διακομιστή TSA SSH, δημιουργήστε ένα tsa_host_key. Τέλος, δημιουργήστε ένα worker_key για κάθε εργαζόμενο.

Δημιουργήστε έναν νέο κατάλογο για να αποθηκεύσετε τα κλειδιά και τις ρυθμίσεις παραμέτρων που σχετίζονται με το Concourse CI.

sudo mkdir /opt/concourse

Δημιουργήστε τα απαιτούμενα κλειδιά.

sudo ssh-keygen -t rsa -q -N '' -f /opt/concourse/session_signing_key
sudo ssh-keygen -t rsa -q -N '' -f /opt/concourse/tsa_host_key
sudo ssh-keygen -t rsa -q -N '' -f /opt/concourse/worker_key

Εξουσιοδοτήστε το δημόσιο κλειδί των εργαζομένων αντιγράφοντας τα περιεχόμενά του στο authorized_worker_keys αρχείο.

sudo cp /opt/concourse/worker_key.pub /opt/concourse/authorized_worker_keys

Έναρξη Concourse

Το Concourse παρέχει δύο ξεχωριστά στοιχεία που πρέπει να ξεκινήσουν: το web και το worker. Ξεκινήστε τον ιστό του Concourse.

sudo concourse web \
  --basic-auth-username admin \
  --basic-auth-password StrongPass \
  --session-signing-key /opt/concourse/session_signing_key \
  --tsa-host-key /opt/concourse/tsa_host_key \
  --tsa-authorized-keys /opt/concourse/authorized_worker_keys \
  --postgres-user=concourse \
  --postgres-password=DBPassword \
  --postgres-database=concourse \
  --external-url http://192.0.2.1:8080

Αλλάξτε το όνομα χρήστη και τον κωδικό πρόσβασης του, basic-auth εάν θέλετε. Βεβαιωθείτε ότι η διαδρομή προς τα βασικά αρχεία είναι σωστή και βεβαιωθείτε ότι παρέχεται η σωστή τιμή για το όνομα χρήστη και τον κωδικό πρόσβασης στη διαμόρφωση της βάσης δεδομένων PostgreSQL.

Σημείωση : Το ATC θα ακούσει την προεπιλεγμένη θύρα 8080 και το TSA θα ακούσει τη θύρα 2222. Εάν δεν είναι επιθυμητός έλεγχος ταυτότητας, περάστε την --no-really-i-dont-want-any-authεπιλογή αφού αφαιρέσετε τις βασικές επιλογές ελέγχου ταυτότητας.

Μόλις ξεκινήσει ο διακομιστής web, θα εμφανιστεί η ακόλουθη έξοδος.

{"timestamp":"1503657859.661247969","source":"tsa","message":"tsa.listening","log_level":1,"data":{}}
{"timestamp":"1503657859.666907549","source":"atc","message":"atc.listening","log_level":1,"data":{"debug":"127.0.0.1:8079","http":"0.0.0.0:8080"}}

Διακόψτε τον διακομιστή προς το παρόν, καθώς πρέπει να ρυθμίσετε μερικά ακόμη πράγματα.

Ξεκινήστε το Concourse CI Worker.

sudo concourse worker \
  --work-dir /opt/concourse/worker \
  --tsa-host 127.0.0.1 \
  --tsa-public-key /opt/concourse/tsa_host_key.pub \
  --tsa-worker-private-key /opt/concourse/worker_key

Η παραπάνω εντολή θα υποθέσει ότι το TSA εκτελείται σε localhost και ακούει την προεπιλεγμένη θύρα 2222.

Αν και ο ιστός του Concourse και ο εργαζόμενος μπορούν να ξεκινήσουν εύκολα χρησιμοποιώντας τις παραπάνω εντολές, συνιστάται η χρήση του Systemd για τη διαχείριση του διακομιστή.

Διαμόρφωση υπηρεσίας περιβάλλοντος και συστήματος

Η χρήση της υπηρεσίας Systemd για τη διαχείριση της εφαρμογής διασφαλίζει ότι η εφαρμογή ξεκινά αυτόματα σε περίπτωση αποτυχίας και κατά την εκκίνηση. Ο διακομιστής Concourse δεν λαμβάνει δεδομένα από κανένα αρχείο διαμόρφωσης, αλλά μπορεί να έχει πρόσβαση στα δεδομένα από μεταβλητές περιβάλλοντος. Αντί να ορίσετε καθολικές μεταβλητές περιβάλλοντος, δημιουργήστε ένα νέο αρχείο για να αποθηκεύσετε τις μεταβλητές περιβάλλοντος και, στη συνέχεια, περάστε τις μεταβλητές στο Concourse CI χρησιμοποιώντας την υπηρεσία Systemd.

Δημιουργήστε ένα νέο αρχείο περιβάλλοντος για το Concourse web.

sudo nano /opt/concourse/web.env

Συμπληρώστε το αρχείο.

CONCOURSE_SESSION_SIGNING_KEY=/opt/concourse/session_signing_key
CONCOURSE_TSA_HOST_KEY=/opt/concourse/tsa_host_key
CONCOURSE_TSA_AUTHORIZED_KEYS=/opt/concourse/authorized_worker_keys

CONCOURSE_POSTGRES_USER=concourse
CONCOURSE_POSTGRES_PASSWORD=DBPassword
CONCOURSE_POSTGRES_DATABASE=concourse

CONCOURSE_BASIC_AUTH_USERNAME=admin
CONCOURSE_BASIC_AUTH_PASSWORD=StrongPass
CONCOURSE_EXTERNAL_URL=http://192.0.2.1:8080

Change the username and password of the BASIC_AUTH if desired. Make sure that the path to the key files are correct and make sure that the correct value for username and password in the PostgreSQL database configuration is provided.

Similarly, create an environment file for the worker.

sudo nano /opt/concourse/worker.env

Populate the file.

CONCOURSE_WORK_DIR=/opt/concourse/worker
CONCOURSE_TSA_WORKER_PRIVATE_KEY=/opt/concourse/worker_key
CONCOURSE_TSA_PUBLIC_KEY=/opt/concourse/tsa_host_key.pub
CONCOURSE_TSA_HOST=127.0.0.1

As the environment files contain usernames and passwords, change its permissions so that it cannot be accessed by other users.

sudo chmod 600 /opt/concourse/*.env

Now create a new user for Concourse to run the web environment. This will ensure that the web server is running in an isolated environment.

sudo useradd concourse

Give the concourse user ownership over Concourse CI file's directory.

sudo chown -R concourse:concourse /opt/concourse

Create a new systemd service file for the Concourse web service.

sudo nano /etc/systemd/system/concourse-web.service

Populate the file.

[Unit]
Description=Concourse CI web server

[Service]
Type=simple
User=concourse
Group=concourse
Restart=on-failure
EnvironmentFile=/opt/concourse/web.env
ExecStart=/usr/bin/concourse web
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=concourse_web

[Install]
WantedBy=multi-user.target

Save and close the file. Create a new service file for the Concourse worker service.

sudo nano /etc/systemd/system/concourse-worker.service

Populate the file.

[Unit]
Description=Concourse CI worker process

[Service]
Type=simple
Restart=on-failure
EnvironmentFile=/opt/concourse/worker.env
ExecStart=/usr/bin/concourse worker
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=concourse_worker

[Install]
WantedBy=multi-user.target

The web and worker service can now be started directly.

sudo systemctl start concourse-web concourse-worker

To enable the worker and web process to automatically start at boot time, run the following.

sudo systemctl enable concourse-worker concourse-web

To check the status of services, run the following.

sudo systemctl status concourse-worker concourse-web

If the service is not started, or in the FAILED state, remove the cache from the /tmp directory.

sudo rm -rf /tmp/*

Restart the services.

sudo systemctl restart concourse-worker concourse-web

Notice that this time the services have started correctly. The output upon verifying the status of the services will be similar to the following.

[user@vultr ~]$ sudo systemctl status concourse-worker concourse-web
● concourse-worker.service - Concourse CI worker process
   Loaded: loaded (/etc/systemd/system/concourse-worker.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2017-08-26 07:27:37 UTC; 55s ago
 Main PID: 3037 (concourse)
   CGroup: /system.slice/concourse-worker.service
           └─3037 /usr/bin/concourse worker

Aug 26 07:27:42 vultr.guest concourse_worker[3037]: {"timestamp":"1503732462.934722900","source":"tsa","message":"t...""}}
Aug 26 07:27:42 vultr.guest concourse_worker[3037]: {"timestamp":"1503732462.941227913","source":"guardian","messag...0"}}

...

● concourse-web.service - Concourse CI web server
   Loaded: loaded (/etc/systemd/system/concourse-web.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2017-08-26 07:27:37 UTC; 55s ago
 Main PID: 3036 (concourse)
   CGroup: /system.slice/concourse-web.service
           └─3036 /usr/bin/concourse web

Aug 26 07:27:57 vultr.guest concourse_web[3036]: {"timestamp":"1503732477.925554752","source":"tsa","message":"tsa...ve"}}
Aug 26 07:28:02 vultr.guest concourse_web[3036]: {"timestamp":"1503732482.925430775","source":"tsa","message":"tsa...ve"}}
...
Hint: Some lines were ellipsized, use -l to show in full.

Connecting to the Server

Once the server is started, the web interface of the Concourse CI can be accessed by going to http://192.0.2.1:8080 in any browser. Log in using the username and password provided in the environment file.

To connect to the server using Fly, run the following.

fly -t my-ci login -c http://192.0.2.1:8080

Η παραπάνω εντολή χρησιμοποιείται για την αρχική σύνδεση στο διακομιστή. -t χρησιμοποιείται για την παροχή ενός ονόματος στόχου. αντικαταστήστε my-ci με οποιοδήποτε επιθυμητό όνομα στόχου. Η παραπάνω εντολή θα συνδεθεί στην προεπιλεγμένη ομάδα main. Θα ζητήσει το όνομα χρήστη και τον κωδικό πρόσβασης που παρέχονται στο αρχείο περιβάλλοντος.

Η έξοδος θα μοιάζει με την ακόλουθη.

[user@vultr ~]$ fly -t my-ci login -c http://192.0.2.1:8080
logging in to team 'main'

username: admin
password:

target saved

Η σύνδεση στόχος θα αποθηκευτεί για μια ημέρα. Μετά από αυτό, θα λήξει.

Για να αποσυνδεθείτε αμέσως.

fly -t my-ci logout

Το Fly μπορεί να χρησιμοποιηθεί για σύνδεση στο διακομιστή εκτός δικτύου, αλλά μόνο εάν ο διακομιστής έχει δημόσια διεύθυνση IP και είναι προσβάσιμος εκτός δικτύου. Μπορείτε να κάνετε λήψη του δυαδικού αρχείου Windows ή MacOS από την τοποθεσία λήψης ή από το περιβάλλον εργασίας web του διακομιστή.

Ρύθμιση του Nginx Reverse Proxy

Οι συνδέσεις και άλλες πληροφορίες που αποστέλλονται μέσω της διεπαφής χρήστη web στον διακομιστή του Concourse δεν είναι ασφαλείς. Η σύνδεση δεν είναι κρυπτογραφημένη. Ένας αντίστροφος διακομιστής μεσολάβησης Nginx μπορεί να ρυθμιστεί με ένα δωρεάν SSL Let's Encrypt.

Εγκαταστήστε το 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 ci.example.com

Τα πιστοποιητικά που δημιουργούνται είναι πιθανό να αποθηκευτούν στον /etc/letsencrypt/live/ci.example.com/ κατάλογο. Το πιστοποιητικό SSL θα αποθηκευτεί ως fullchain.pem και το ιδιωτικό κλειδί θα αποθηκευτεί ως privkey.pem.

Τα πιστοποιητικά Let's Encrypt λήγουν σε 90 ημέρες, επομένως συνιστάται η αυτόματη ανανέωση για τα πιστοποιητικά να ρυθμίζεται με χρήση cronjob. Το Cron είναι μια υπηρεσία συστήματος που χρησιμοποιείται για την εκτέλεση περιοδικών εργασιών.

Ανοίξτε το αρχείο εργασίας cron.

sudo crontab -e

Προσθέστε την ακόλουθη γραμμή στο τέλος του αρχείου.

30 5 * * * /usr/bin/certbot renew --quiet

Η παραπάνω εργασία cron θα εκτελείται καθημερινά στις 5:30 π.μ. Εάν το πιστοποιητικό πρόκειται να λήξει, θα ανανεωθεί αυτόματα.

Δημιουργήστε έναν νέο εικονικό κεντρικό υπολογιστή.

sudo nano /etc/nginx/sites-available/concourse

Συμπληρώστε το αρχείο.

server {
    listen 80;
    server_name ci.example.com;
    return 301 https://$host$request_uri;
}
server {

    listen 443;
    server_name ci.example.com;

    ssl_certificate           /etc/letsencrypt/live/ci.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/ci.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/concourse.access.log;

    location / {

      proxy_set_header        Host $host;
      proxy_set_header        X-Real-IP $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header        X-Forwarded-Proto $scheme;
      proxy_pass          http://localhost:8080;
      proxy_read_timeout  90;

      proxy_redirect      http://localhost:8080 https://ci.example.com;
    }
  }

Σημείωση : Αντικαταστήστε ci.example.com με τον πραγματικό τομέα.

Ενεργοποιήστε το αρχείο διαμόρφωσης.

sudo ln -s /etc/nginx/sites-available/concourse /etc/nginx/sites-enabled/concourse

Επεξεργαστείτε το αρχείο Environment που δημιουργήθηκε για το concourse Web.

sudo nano /opt/concourse/web.env

Αλλάξτε την τιμή του CONCOURSE_EXTERNAL_URL και προσθέστε επίσης δύο ακόμη γραμμές στο τέλος του αρχείου.

CONCOURSE_EXTERNAL_URL=https://ci.example.com
CONCOURSE_BIND_IP=127.0.0.1
CONCOURSE_BIND_PORT=8080

Αποθηκεύστε το αρχείο και επανεκκινήστε τα Concourse Web, Worker και Nginx.

sudo systemctl restart concourse-worker concourse-web nginx

Όλα τα δεδομένα που αποστέλλονται από και προς το πρόγραμμα περιήγησης είναι πλέον ασφαλισμένα με κρυπτογράφηση SSL.


Πώς να εγκαταστήσετε το Jenkins στο CentOS 7

Πώς να εγκαταστήσετε το Jenkins στο CentOS 7

Το Jenkins είναι ένα δημοφιλές εργαλείο ανοιχτού κώδικα CI (Continuous Integration) που χρησιμοποιείται ευρέως για την ανάπτυξη, την ανάπτυξη και την αυτοματοποίηση έργων. Αυτό το άρθρο θα

Πώς να εγκαταστήσετε και να ρυθμίσετε το Concourse CI στο Ubuntu 16.04

Πώς να εγκαταστήσετε και να ρυθμίσετε το Concourse CI στο Ubuntu 16.04

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Εισαγωγή Η συνεχής ενοποίηση είναι μια πρακτική ανάπτυξης λογισμικού DevOps που επιτρέπει στους προγραμματιστές να συγχωνεύουν συχνά

Πώς να εγκαταστήσετε και να ρυθμίσετε τις παραμέτρους του Ansible στο Debian 9 για χρήση με τον Windows Server

Πώς να εγκαταστήσετε και να ρυθμίσετε τις παραμέτρους του Ansible στο Debian 9 για χρήση με τον Windows Server

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Ansible είναι ένα εργαλείο ανοιχτού κώδικα για την αυτοματοποίηση εργασιών. Διαχειρίζεται τη διαμόρφωση των διακομιστών σας Linux και Windows. Λειτουργεί

Πώς να εγκαταστήσετε και να ρυθμίσετε το GoCD στο CentOS 7

Πώς να εγκαταστήσετε και να ρυθμίσετε το GoCD στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το GoCD είναι ένα σύστημα συνεχούς παράδοσης και αυτοματισμού ανοιχτού κώδικα. Σας επιτρέπει να μοντελοποιείτε σύνθετες ροές εργασίας χρησιμοποιώντας το παράλληλό του an

Χρήση του SaltStack With Pillars στο Ubuntu 17.04

Χρήση του SaltStack With Pillars στο Ubuntu 17.04

Ενώ το SaltStack είναι ένα εξαιρετικό εργαλείο για την εκτέλεση λειτουργιών σε πολλούς διακομιστές ταυτόχρονα, υποστηρίζει επίσης προκαθορισμένες ρυθμίσεις παραμέτρων ανά κεντρικό υπολογιστή που είναι αποθηκευμένες σε

Πώς να εγκαταστήσετε και να ρυθμίσετε τις παραμέτρους του Ansible στο CentOS 7 για χρήση με τον Windows Server

Πώς να εγκαταστήσετε και να ρυθμίσετε τις παραμέτρους του Ansible στο CentOS 7 για χρήση με τον Windows Server

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Ansible είναι ένα εργαλείο ανοιχτού κώδικα για την αυτοματοποίηση εργασιών. Διαχειρίζεται τη διαμόρφωση των διακομιστών σας Linux και Windows. Λειτουργεί

Πώς να εγκαταστήσετε το Drone CI στο Ubuntu 18.04

Πώς να εγκαταστήσετε το Drone CI στο Ubuntu 18.04

Εισαγωγή Το Drone είναι μια αυτοματοποιημένη, συνεχής πλατφόρμα δοκιμών και παράδοσης που λειτουργεί στη δική σας υποδομή. Το Drone υποστηρίζει οποιαδήποτε γλώσσα, υπηρεσία o

Vultr Load Balancers

Vultr Load Balancers

Τι είναι το Load Balancer Οι Load Balancer κάθονται μπροστά από την εφαρμογή σας και διανέμουν την εισερχόμενη κίνηση σε πολλές περιπτώσεις της εφαρμογής σας. Fo

Πώς να εγκαταστήσετε το Foreman στο CentOS 7

Πώς να εγκαταστήσετε το Foreman στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Foreman είναι ένα δωρεάν και ανοιχτού κώδικα εργαλείο που σας βοηθά με τη διαμόρφωση και τη διαχείριση φυσικών και εικονικών διακομιστών. Forema

Πώς να εγκαταστήσετε το SaltStack στο CentOS 7

Πώς να εγκαταστήσετε το SaltStack στο CentOS 7

Το SaltStack, ή Salt, είναι μια δημοφιλής λύση διαχείρισης διαμόρφωσης ανοιχτού κώδικα που μπορεί να χρησιμοποιηθεί για την υλοποίηση απομακρυσμένης εκτέλεσης, διαχείρισης παραμέτρων, κωδικού

Πώς να εγκαταστήσετε το Strider CD στο Ubuntu 18.04

Πώς να εγκαταστήσετε το Strider CD στο Ubuntu 18.04

Εισαγωγή Το Strider CD είναι μια πλατφόρμα συνεχούς ανάπτυξης ανοιχτού κώδικα. Η εφαρμογή είναι γραμμένη στο Node.js και χρησιμοποιεί το MongoDB ως backend αποθήκευσης. Δρασκελιά

Χρήση του Chocolatey Package Manager στα Windows

Χρήση του Chocolatey Package Manager στα Windows

Εισαγωγή Το Chocolatey φέρνει τη διαχείριση πακέτων που διευκολύνει τη διαχείριση λογισμικού και εξαρτήσεων στο Linux, στα Windows. Μπορείτε εύκολα και γρήγορα

Δημιουργία στιγμιότυπων με το Packer

Δημιουργία στιγμιότυπων με το Packer

Τι είναι το Packer; Το Packer είναι ένα εργαλείο απεικόνισης διακομιστή που αναπτύχθηκε από τη HashiCorp. Απεικόνιση διακομιστή? ή εναλλακτικά, αμετάβλητη υποδομή. είναι μια δημοφιλής εναλλακτική

Πώς να εγκαταστήσετε και να ρυθμίσετε το Concourse CI στο CentOS 7

Πώς να εγκαταστήσετε και να ρυθμίσετε το Concourse CI στο CentOS 7

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Εισαγωγή Η συνεχής ενοποίηση είναι μια πρακτική ανάπτυξης λογισμικού DevOps που επιτρέπει στους προγραμματιστές να συγχωνεύουν συχνά

Χρήση του Chef-solo για τη διαμόρφωση μιας εφαρμογής Django στο Ubuntu

Χρήση του Chef-solo για τη διαμόρφωση μιας εφαρμογής Django στο Ubuntu

Υπάρχουν πολλοί τρόποι αυτοματοποίησης της διαδικασίας ρύθμισης και διαμόρφωσης ενός κουτιού. Για οποιονδήποτε λόγο, εάν ολόκληρο το σύστημά μας σε αυτό το σημείο αποτελείται από ακριβώς

Πώς να εγκαταστήσετε το Foreman στο Ubuntu 16.04 LTS

Πώς να εγκαταστήσετε το Foreman στο Ubuntu 16.04 LTS

Χρησιμοποιώντας ένα διαφορετικό σύστημα; Το Foreman είναι ένα δωρεάν και ανοιχτού κώδικα εργαλείο που σας βοηθά με τη διαμόρφωση και τη διαχείριση φυσικών και εικονικών διακομιστών. Forema

Ξεκινώντας με το SaltStack στο Ubuntu 17.04

Ξεκινώντας με το SaltStack στο Ubuntu 17.04

Το SaltStack είναι ένα πρόγραμμα διαχείρισης ρυθμίσεων που βασίζεται σε python και είναι βελτιστοποιημένο για την αυτοματοποίηση αρχείων διαμόρφωσης, αναπτύξεις και οτιδήποτε άλλο

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Είστε επίσης θύμα των επιθέσεων DDOS και έχετε μπερδευτεί σχετικά με τις μεθόδους πρόληψης; Διαβάστε αυτό το άρθρο για να λύσετε τις απορίες σας.

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Μπορεί να έχετε ακούσει ότι οι χάκερ κερδίζουν πολλά χρήματα, αλλά έχετε αναρωτηθεί ποτέ πώς κερδίζουν τέτοια χρήματα; ας συζητήσουμε.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Θέλετε να δείτε επαναστατικές εφευρέσεις της Google και πώς αυτές οι εφευρέσεις άλλαξαν τη ζωή κάθε ανθρώπου σήμερα; Στη συνέχεια, διαβάστε στο blog για να δείτε τις εφευρέσεις της Google.

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Η ιδέα των αυτοκινούμενων αυτοκινήτων να βγαίνουν στους δρόμους με τη βοήθεια της τεχνητής νοημοσύνης είναι ένα όνειρο που έχουμε εδώ και καιρό. Όμως, παρά τις πολλές υποσχέσεις, δεν φαίνονται πουθενά. Διαβάστε αυτό το blog για να μάθετε περισσότερα…

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Καθώς η Επιστήμη εξελίσσεται με γρήγορους ρυθμούς, αναλαμβάνοντας πολλές από τις προσπάθειές μας, αυξάνονται και οι κίνδυνοι να υποβάλλουμε τον εαυτό μας σε μια ανεξήγητη Ιδιότητα. Διαβάστε τι σημαίνει η μοναδικότητα για εμάς.

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Οι μέθοδοι αποθήκευσης των δεδομένων εξελίσσονται μπορεί να είναι από τη γέννηση των Δεδομένων. Αυτό το ιστολόγιο καλύπτει την εξέλιξη της αποθήκευσης δεδομένων με βάση ένα infographic.

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Διαβάστε το ιστολόγιο για να μάθετε διαφορετικά επίπεδα στην Αρχιτεκτονική Μεγάλων Δεδομένων και τις λειτουργίες τους με τον απλούστερο τρόπο.

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

Σε αυτόν τον ψηφιακό κόσμο, οι έξυπνες οικιακές συσκευές έχουν γίνει κρίσιμο μέρος της ζωής. Ακολουθούν μερικά εκπληκτικά οφέλη των έξυπνων οικιακών συσκευών σχετικά με το πώς κάνουν τη ζωή μας να αξίζει και να απλοποιείται.

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Πρόσφατα, η Apple κυκλοφόρησε το macOS Catalina 10.15.4 μια συμπληρωματική ενημέρωση για την επιδιόρθωση προβλημάτων, αλλά φαίνεται ότι η ενημέρωση προκαλεί περισσότερα προβλήματα που οδηγούν σε bricking των μηχανών mac. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα