Ako nainštalovať a nakonfigurovať Concourse CI na Ubuntu 16.04

Úvod

Nepretržitá integrácia je postup vývoja softvéru DevOps, ktorý umožňuje vývojárom častokrát denne spájať upravený kód do zdieľaného úložiska. Po každom zlúčení sa vykonajú automatické zostavenia a testy na zistenie problémov v kóde. Umožňuje vývojárom rýchlo nájsť a vyriešiť chyby, aby sa zlepšila kvalita softvéru a zabezpečila sa nepretržitá dodávka softvéru. Prepínanie medzi Concourse je veľmi jednoduché, pretože všetka jeho konfigurácia sa uchováva v deklaratívnych súboroch, ktoré je možné skontrolovať v správe verzií. Poskytuje tiež webové používateľské rozhranie, ktoré interaktívne zobrazuje informácie o zostavení.

Komponenty haly.
  • ATC je hlavnou súčasťou haly. Je zodpovedný za prevádzku webového používateľského rozhrania a API. Tiež sa stará o všetko plánovanie potrubia.
  • TSA je prispôsobený server SSH. Je zodpovedný za bezpečnú registráciu pracovníka v ATC.
  • Pracovníci ďalej prevádzkujú dve rôzne služby:
    1. Záhrada je runtime kontajnera a rozhranie na organizovanie kontajnerov na diaľku na pracovníkovi.
    2. Baggageclaim je server na správu vyrovnávacej pamäte a artefaktov.
  • Fly je rozhranie príkazového riadku používané na interakciu s ATC na konfiguráciu Concourse Pipelines.

Predpoklady

Nezabudnite nahradiť všetky výskyty 192.0.2.1 a ci.example.com vašou skutočnou verejnou IP adresou Vultr a skutočným názvom domény.

Aktualizujte svoj základný systém pomocou príručky Ako aktualizovať Ubuntu 16.04 . Po aktualizácii vášho systému pokračujte v inštalácii PostgreSQL.

Nainštalujte a nakonfigurujte databázu PostgreSQL

PostgreSQL je objektový relačný databázový systém. Concourse ukladá svoje údaje potrubia do databázy PostgreSQL. Pridajte úložisko 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

Nainštalujte databázový server PostgreSQL.

sudo apt -y install postgresql

Spustite server PostgreSQL a povoľte jeho automatické spustenie pri štarte.

sudo systemctl start postgresql
sudo systemctl enable postgresql

Zmeňte heslo pre predvoleného používateľa PostgreSQL.

sudo passwd postgres

Prihláste sa ako používateľ PostgreSQL:

sudo su - postgres

Vytvorte nového používateľa PostgreSQL pre Concourse CI.

createuser concourse

Poznámka : Na autentifikáciu databázy je možné použiť predvoleného používateľa PostgreSQL, ale odporúča sa použiť vyhradeného používateľa na autentifikáciu databázy Concourse v produkčnom nastavení.

PostgreSQL poskytuje shell na spúšťanie dotazov v databáze. Prepnite sa do prostredia PostgreSQL.

psql

Nastavte heslo pre novovytvoreného užívateľa databázy Concourse.

ALTER USER concourse WITH ENCRYPTED password 'DBPassword';

Dôležité : Nahraďte DBPassword silným heslom. Poznamenajte si heslo, pretože sa bude vyžadovať neskôr v návode.

Vytvorte novú databázu pre Concourse.

CREATE DATABASE concourse OWNER concourse;

Opustite psql škrupinu.

\q

Prepnúť na používateľa sudo z aktuálneho postgrespoužívateľa.

exit

Stiahnite si a nainštalujte Concourse CI

Stiahnite si najnovšiu verziu spustiteľného súboru Concourse a uložte ho /usr/bin , aby ho bolo možné priamo spustiť. Najnovšiu verziu binárnych súborov Concourse a Fly nájdete na stránke na stiahnutie Concourse . Nové vydania sú veľmi časté. Nahraďte odkaz nižšie novým odkazom na najnovšiu verziu.

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

Podobne si stiahnite najnovšiu verziu spustiteľného súboru fly a uložte ho do /usr/bin.

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

Fly je rozhranie príkazového riadku používané na pripojenie k ATC API Concourse CI. Fly je k dispozícii pre viacero platforiem, ako sú Linux, Windows a MacOS.

Priraďte povolenie na spustenie stiahnutým concourse a fly binárnym súborom.

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

Skontrolujte, či Concourse a Fly fungujú správne kontrolou ich verzie.

concourse -version
fly -version

Generovanie a nastavenie kľúčov RSA

Páry kľúčov RSA poskytujú spôsob šifrovania komunikácie medzi komponentmi vestibulu.

Aby Concourse fungoval, musia byť vygenerované aspoň tri páry kľúčov. Na šifrovanie údajov relácie vygenerujte súbor session_signing_key. Tento kľúč bude tiež používať TSA na podpísanie požiadaviek, ktoré odošle ATC. Ak chcete zabezpečiť server TSA SSH, vygenerujte súbor tsa_host_key. Nakoniec vygenerujte worker_key pre každého pracovníka.

Vytvorte nový adresár na uloženie kľúčov a konfigurácie súvisiacej s Concourse CI.

sudo mkdir /opt/concourse

Vygenerujte požadované kľúče.

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

Autorizujte verejný kľúč pracovníkov skopírovaním jeho obsahu do authorized_worker_keys súboru.

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

Začiatok večierka

Concourse poskytuje dve samostatné zložky, ktoré je potrebné spustiť: web a pracovník. Spustite web 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

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.

Note: ATC will listen to the default port 8080 and TSA will listen to port 2222. If authentication is not desired, pass the --no-really-i-dont-want-any-auth option after removing the basic auth options.

Once the web server is started, the following output will be displayed.

{"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"}}

Stop the server for now, as a few more things still must be setup.

Start the 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

The above command will assume that the TSA is running on localhost and listening to the default port 2222.

Though the Concourse web and worker can be started easily using the commands above, it is recommended to use Systemd to manage the server.

Configure Environment and Systemd Service

Using Systemd service for managing the application ensures that the application is automatically started on failures and at boot time. The Concourse server does not take data from any configuration file, but it can access the data from environment variables. Instead of setting global environment variables, create a new file to store the environment variables and then pass the variables to the Concourse CI using the Systemd service.

Create a new environment file for Concourse web.

sudo nano /opt/concourse/web.env

Populate the file.

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

The above command is used for the initial login to the server. -t is used to provide a target name. replace my-ci with any desired target name. The above command will log in to the default team main. It will ask for the username and password provided in the environment file.

The output will look like the following.

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

username: admin
password:

target saved

The target login will be saved for a day. After that, it will expire.

To log out immediately.

fly -t my-ci logout

Fly can be used to login to the server outside of the network, but only if the server has a public IP address and it is accessible from outside the network. The Windows or MacOS binary can be downloaded from the download site or from the web UI of the server.

Setting Up Nginx Reverse Proxy

Logins, and other information sent through the web UI to the Concourse server are not secured. The connection is not encrypted. An Nginx reverse proxy can be set up with a Let's Encrypt free SSL.

Install Nginx.

sudo apt -y install nginx

Start Nginx and enable it to automatically start at boot time.

sudo systemctl start nginx
sudo systemctl enable nginx

Add the Certbot repository.

sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update

Install Certbot, which is the client application for Let's Encrypt CA.

sudo apt -y install certbot

Note: To obtain certificates from Let's Encrypt CA, the domain for which the certificates are to be generated must be pointed towards the server. If not, make the necessary changes to the DNS records of the domain and wait for the DNS to propagate before making the certificate request again. Certbot checks the domain authority before providing the certificates.

Generate the SSL certificates.

sudo certbot certonly --webroot -w /var/www/html -d ci.example.com

Vygenerované certifikáty budú pravdepodobne uložené v /etc/letsencrypt/live/ci.example.com/ adresári. Certifikát SSL bude uložený ako fullchain.pem a súkromný kľúč bude uložený ako privkey.pem.

Platnosť certifikátov Let's Encrypt vyprší o 90 dní, preto sa odporúča, aby sa automatické obnovovanie certifikátov nastavilo pomocou cronjobov. Cron je systémová služba, ktorá sa používa na spúšťanie pravidelných úloh.

Otvorte súbor úlohy cron.

sudo crontab -e

Na koniec súboru pridajte nasledujúci riadok.

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

Vyššie uvedená úloha cron sa spustí každý deň o 5:30. Ak platnosť certifikátu vyprší, automaticky sa obnoví.

Vytvorte nového virtuálneho hostiteľa.

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

Vyplňte súbor.

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;
    }
  }

Poznámka : Nahraďte ci.example.com skutočnou doménou.

Aktivujte konfiguračný súbor.

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

Upravte súbor prostredia vytvorený pre web verejného priestoru.

sudo nano /opt/concourse/web.env

Zmeňte hodnotu CONCOURSE_EXTERNAL_URL a pridajte ďalšie dva riadky na koniec súboru.

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

Uložte súbor a reštartujte Concourse Web, Worker a Nginx.

sudo systemctl restart concourse-worker concourse-web nginx

Všetky údaje odosielané do a z prehliadača sú teraz zabezpečené šifrovaním SSL.


Ako nainštalovať Jenkins na CentOS 7

Ako nainštalovať Jenkins na CentOS 7

Jenkins je populárny open source nástroj CI (Continuous Integration), ktorý sa široko používa na vývoj projektov, nasadenie a automatizáciu. Tento článok bude

Ako nainštalovať a nakonfigurovať Concourse CI na Ubuntu 16.04

Ako nainštalovať a nakonfigurovať Concourse CI na Ubuntu 16.04

Používate iný systém? Úvod Kontinuálna integrácia je postup vývoja softvéru DevOps, ktorý umožňuje vývojárom často spájať th

Ako nainštalovať a nakonfigurovať Ansible na Debian 9 na použitie so serverom Windows

Ako nainštalovať a nakonfigurovať Ansible na Debian 9 na použitie so serverom Windows

Používate iný systém? Ansible je open source nástroj na automatizáciu úloh. Spravuje konfiguráciu vašich serverov Linux a Windows. funguje to

Ako nainštalovať a nakonfigurovať GoCD na CentOS 7

Ako nainštalovať a nakonfigurovať GoCD na CentOS 7

Používate iný systém? GoCD je open source systém nepretržitého doručovania a automatizácie. Umožňuje vám modelovať komplexné pracovné postupy pomocou jeho paralelných an

Používanie SaltStack With Pillars na Ubuntu 17.04

Používanie SaltStack With Pillars na Ubuntu 17.04

Zatiaľ čo SaltStack je skvelý nástroj na spustenie operácií na mnohých serveroch súčasne, podporuje aj predvoľby konfigurácie definované pre jednotlivých hostiteľov uložené v

Ako nainštalovať a nakonfigurovať Ansible na CentOS 7 na použitie so systémom Windows Server

Ako nainštalovať a nakonfigurovať Ansible na CentOS 7 na použitie so systémom Windows Server

Používate iný systém? Ansible je open source nástroj na automatizáciu úloh. Spravuje konfiguráciu vašich serverov Linux a Windows. funguje to

Ako nainštalovať Drone CI na Ubuntu 18.04

Ako nainštalovať Drone CI na Ubuntu 18.04

Úvod Drone je automatizovaná, nepretržitá testovacia a doručovacia platforma, ktorá beží na vašej vlastnej infraštruktúre. Drone podporuje akýkoľvek jazyk, službu o

Vultr Load Balancers

Vultr Load Balancers

Čo je to Load Balancer Load Balancer je umiestnený pred vašou aplikáciou a distribuuje prichádzajúcu návštevnosť medzi viaceré inštancie vašej aplikácie. Fo

Ako nainštalovať Foreman na CentOS 7

Ako nainštalovať Foreman na CentOS 7

Používate iný systém? Foreman je bezplatný a open source nástroj, ktorý vám pomôže s konfiguráciou a správou fyzických a virtuálnych serverov. Forema

Ako nainštalovať SaltStack na CentOS 7

Ako nainštalovať SaltStack na CentOS 7

SaltStack alebo Salt je populárne riešenie na správu konfigurácie s otvoreným zdrojom, ktoré možno použiť na implementáciu vzdialeného spúšťania, správy konfigurácie, kódov

Ako nainštalovať Strider CD na Ubuntu 18.04

Ako nainštalovať Strider CD na Ubuntu 18.04

Úvod Strider CD je open source platforma nepretržitého nasadenia. Aplikácia je napísaná v Node.js a používa MongoDB ako backend úložiska. Kráčať

Používanie aplikácie Chocolatey Package Manager v systéme Windows

Používanie aplikácie Chocolatey Package Manager v systéme Windows

Úvod Chocolatey prináša správu balíkov, ktorá uľahčuje správu softvéru a závislostí v systéme Linux, do systému Windows. Môžete rýchlo a jednoducho

Vytváranie snímok pomocou nástroja Packer

Vytváranie snímok pomocou nástroja Packer

Čo je Packer? Packer je serverový zobrazovací nástroj vyvinutý spoločnosťou HashiCorp. Serverové zobrazovanie; alebo alternatívne, nemenná infraštruktúra; je obľúbenou alternatívou

Ako nainštalovať a nakonfigurovať Concourse CI na CentOS 7

Ako nainštalovať a nakonfigurovať Concourse CI na CentOS 7

Používate iný systém? Úvod Kontinuálna integrácia je postup vývoja softvéru DevOps, ktorý umožňuje vývojárom často spájať th

Použitie Chef-solo na konfiguráciu aplikácie Django na Ubuntu

Použitie Chef-solo na konfiguráciu aplikácie Django na Ubuntu

Existuje mnoho spôsobov, ako automatizovať proces nastavenia a konfigurácie boxu. Z akéhokoľvek dôvodu, ak celý náš systém v tomto bode pozostáva z spravodlivého

Ako nainštalovať Foreman na Ubuntu 16.04 LTS

Ako nainštalovať Foreman na Ubuntu 16.04 LTS

Používate iný systém? Foreman je bezplatný a open source nástroj, ktorý vám pomôže s konfiguráciou a správou fyzických a virtuálnych serverov. Forema

Začíname so SaltStack na Ubuntu 17.04

Začíname so SaltStack na Ubuntu 17.04

SaltStack je program na správu konfigurácie založený na pythone, ktorý je optimalizovaný pre automatizáciu konfiguračných súborov, nasadení a čohokoľvek iného

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac