Hvordan installere og konfigurere Concourse CI på CentOS 7

Introduksjon

Kontinuerlig integrasjon er en DevOps-programvareutviklingspraksis som gjør det mulig for utviklerne å flette den modifiserte koden ofte inn i det delte depotet mange ganger om dagen. Etter hver sammenslåing utføres automatiske bygg og tester for å oppdage problemer i koden. Det gjør det mulig for utviklerne å finne og løse feilene raskt for å forbedre programvarekvaliteten og sørge for kontinuerlig levering av programvaren. Det er veldig enkelt å bytte frem og tilbake fra Concourse ettersom den beholder all konfigurasjonen i deklarative filer som kan sjekkes inn i versjonskontroll. Det gir også et nettbrukergrensesnitt som viser byggeinformasjonen interaktivt.

Concourse komponenter.
  • ATC er hovedkomponenten i Concourse. Den er ansvarlig for å kjøre web-UI og API. Den tar seg også av all rørledningsplanlegging.
  • TSA er en spesialbygd SSH-server. Det er ansvarlig for sikker registrering av en arbeider hos ATC.
  • Arbeidere driver videre to forskjellige tjenester:
    1. Garden er en containerruntime og et grensesnitt for å orkestrere containere eksternt på en arbeider.
    2. Baggageclaim er en server for cache- og artefaktadministrasjon.
  • Fly er et kommandolinjegrensesnitt som brukes til å samhandle med ATC for å konfigurere Concourse Pipelines.

Forutsetninger

Pass på å erstatte alle forekomster av 192.0.2.1og ci.example.commed din faktiske Vultr offentlige IP-adresse og faktiske domenenavn.

Oppdater basissystemet ditt ved å bruke veiledningen Hvordan oppdatere CentOS 7 . Når systemet ditt har blitt oppdatert, fortsett å installere PostgreSQL.

Installer og konfigurer PostgreSQL-databasen

PostgreSQL er et objektrelasjonsdatabasesystem. Concourse lagrer pipeline-dataene sine i en PostgreSQL-database. Legg til PostgreSQL-depotet.

sudo rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

Installer PostgreSQL-databaseserveren.

sudo yum -y install postgresql96-server postgresql96-contrib

Initialiser databasen.

sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb

initdboppretter en ny PostgreSQL-databaseklynge, som er en samling databaser som administreres av en enkelt serverforekomst. Rediger pg_hba.conffilen for å aktivere MD5-basert autentisering.

sudo nano /var/lib/pgsql/9.6/data/pg_hba.conf

Finne følgende linjer og endre verdiene peerog identi METHODkolonnen til trustog md5hhv.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

Når den er oppdatert, skal konfigurasjonen se slik ut.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

Start PostgreSQL-serveren og la den starte automatisk ved oppstart.

sudo systemctl start postgresql-9.6
sudo systemctl enable postgresql-9.6

Endre passordet for standard PostgreSQL-bruker.

sudo passwd postgres

Logg på som PostgreSQL-bruker:

sudo su - postgres

Opprett en ny PostgreSQL-bruker for Concourse CI.

createuser concourse

Merk : Standard PostgreSQL-bruker kan brukes for autentisering av databasen, men det anbefales å bruke en dedikert bruker for autentisering av Concourse-databasen i et produksjonsoppsett.

PostgreSQL gir et skall for å kjøre spørringer på databasen. Bytt til PostgreSQL-skallet ved å kjøre:

psql

Angi et passord for den nyopprettede Concourse-databasebrukeren.

ALTER USER concourse WITH ENCRYPTED password 'DBPassword';

Viktig : Erstatt DBPasswordmed et sterkt passord. Noter passordet, da det kreves senere i opplæringen.

Opprett en ny database for Concourse.

CREATE DATABASE concourse OWNER concourse;

Gå ut av psqlskallet.

\q

Bytt til sudo-brukeren fra gjeldende postgres-bruker.

exit

Last ned og installer Concourse CI

Last ned den nyeste versjonen av Concourse kjørbar og lagre den /usr/binslik at den kan kjøres direkte. Den siste versjonen av Concourse and Fly binærfiler finner du på Concourse-nedlastingssiden . Nye utgivelser er svært hyppige. Erstatt lenken nedenfor med den nye lenken for den nyeste versjonen.

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

På samme måte kan du laste ned den nyeste versjonen av fly-kjørbaren og lagre den i /usr/bin.

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

Fly er kommandolinjegrensesnittet for å koble til ATC API for Concourse CI. Fly er tilgjengelig for flere plattformer som Linux, Windows og MacOS.

Tildel utføringstillatelse til de nedlastede concourseog flybinære filene.

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

Sjekk om Concourse og Fly fungerer som de skal ved å sjekke versjonen deres.

concourse -version
fly -version

Generer og konfigurer RSA-nøkler

RSA-nøkkelpar gir en måte å kryptere kommunikasjonen mellom komponentene i Concourse.

For at Concourse skal fungere, må minst tre par nøkler genereres. For å kryptere øktdataene, generer en session_signing_key. Denne nøkkelen vil også bli brukt av TSA til å signere forespørslene den sender til ATC. For å sikre TSA SSH-serveren, generer en tsa_host_key. Til slutt, generer en worker_keyfor hver arbeider.

Opprett en ny katalog for å lagre nøklene og konfigurasjonen relatert til Concourse CI.

sudo mkdir /opt/concourse

Generer de nødvendige nøklene.

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

Autoriser arbeidernes offentlige nøkkel ved å kopiere innholdet til authorized_worker_keysfilen:

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

Starter Concours

Concourse har to separate komponenter som må startes, nettet og arbeideren. Start Concourse-nettet.

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

Endre brukernavnet og passordet til basic-authom ønskelig. Sørg for at banen til nøkkelfilene er riktige og sørg for at riktig verdi for brukernavn og passord i PostgreSQL-databasekonfigurasjonen er oppgitt.

Merk : ATC vil lytte til standardporten 8080og TSA vil lytte til porten 2222. Hvis autentisering ikke er ønsket, passerer du --no-really-i-dont-want-any-authalternativet etter at du har fjernet de grunnleggende autentiseringsalternativene.

Once the web server is started, the following output should 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 username 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 adduser --system 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
After=postgresql-9.6.service

[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
After=concourse-web.service

[Service]
Type=simple
User=root
Group=root
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 by running:

sudo systemctl start concourse-web concourse-worker

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

sudo systemctl enable concourse-worker concourse-web

To check the status of services, run:

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 should be simil.

[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.

Adjust your firewall to allow port 8080, on which ATS is running and port 2222, on which TSA is running.

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --zone=public --add-port=2222/tcp --permanent
sudo firewall-cmd --reload

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:

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

The above command is used for 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

Målinnloggingen vil bli lagret i en dag. Etter det vil den utløpe.

For å logge ut umiddelbart.

fly -t my-ci logout

fly kan brukes til å logge på serveren utenfor nettverket, men bare hvis serveren har en offentlig IP-adresse og den er tilgjengelig fra utenfor nettverket. Windows- eller MacOS-binærfilen kan lastes ned fra nedlastingssiden eller fra nettgrensesnittet til serveren.

Sette opp Nginx Reverse Proxy

Pålogginger og annen informasjon som sendes gjennom web-UI til Concourse-serveren er ikke sikret. Forbindelsen er ikke kryptert. En Nginx omvendt proxy kan settes opp med en Let's Encrypt gratis SSL.

Installer Nginx-nettserveren og Certbot, som er klientapplikasjonen for Let's Encrypt CA.

sudo yum -y install certbot-nginx nginx

Start og aktiver Nginx til å starte automatisk ved oppstart:

sudo systemctl start nginx
sudo systemctl enable nginx

Før en forespørsel kan gjøres for sertifikatene, må port 80 og 443, eller standard HTTP- og HTTPS-tjenester, aktiveres gjennom brannmuren. Certbot vil sjekke domeneautoriteten før den utsteder sertifikater.

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent

Port 8080 trenger ikke lenger å tillates gjennom brannmuren lenger fordi Concourse nå kjøres på standard HTTPS-porten. Fjern brannmuroppføringen for å tillate port 8080.

sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent
sudo firewall-cmd --reload

Merk

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.

Generer SSL-sertifikatene.

sudo certbot certonly --webroot -w /usr/share/nginx/html -d ci.example.com

De genererte sertifikatene vil sannsynligvis bli lagret i /etc/letsencrypt/live/ci.example.com/katalogen. SSL-sertifikatet vil bli lagret som fullchain.pemog den private nøkkelen vil bli lagret som privkey.pem.

La oss kryptere sertifikater utløper om 90 dager, så det anbefales automatisk fornyelse for sertifikatene er satt opp med cronjobs. Cron er en systemtjeneste som brukes til å kjøre periodiske oppgaver.

Åpne cron-jobbfilen.

sudo crontab -e

Legg til følgende linje på slutten av filen.

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

Cron-jobben ovenfor vil kjøre hver mandag kl. 05.30. Hvis sertifikatet skal utløpe, vil det automatisk bli fornyet.

Opprett en ny virtuell vert.

sudo nano /etc/nginx/conf.d/concourse-ssl.conf

Fyll ut filen.

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

Merk : Erstatt ci.example.commed det faktiske domenet.

Rediger miljøfilen opprettet for concourse Web.

sudo nano /opt/concourse/web.env

Endre verdien på CONCOURSE_EXTERNAL_URLog legg også til to linjer til på slutten av filen.

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

Lagre filen og start Concourse Web, Worker og Nginx webserver på nytt:

sudo systemctl restart concourse-worker concourse-web nginx

All data som sendes til og fra nettleseren er nå sikret med SSL-krypteringer.


Installer Plesk på CentOS 7

Installer Plesk på CentOS 7

Bruker du et annet system? Plesk er et proprietært kontrollpanel for webverten som lar brukere administrere sine personlige og/eller klienters nettsteder, databaser

Slik installerer du Squid Proxy på CentOS

Slik installerer du Squid Proxy på CentOS

Squid er et populært, gratis Linux-program som lar deg lage en webproxy for videresending. I denne veiledningen vil du se hvordan du installerer Squid på CentOS for å gjøre deg om

Slik installerer du Lighttpd (LLMP Stack) på CentOS 6

Slik installerer du Lighttpd (LLMP Stack) på CentOS 6

Introduksjon Lighttpd er en apachegaffel som har som mål å være mye mindre ressurskrevende. Den er lett, derav navnet, og er ganske enkel å bruke. Installer

Konfigurering av statisk nettverk og IPv6 på CentOS 7

Konfigurering av statisk nettverk og IPv6 på CentOS 7

VULTR har nylig gjort endringer på sin side, og alt skal nå fungere bra ut av boksen med NetworkManager aktivert. Skulle du ønske å deaktivere

Endring av Icinga2 for å bruke hoved-/klientmodell på CentOS 6 eller CentOS 7

Endring av Icinga2 for å bruke hoved-/klientmodell på CentOS 6 eller CentOS 7

Icinga2 er et kraftig overvåkingssystem, og når det brukes i en master-klient-modell, kan det erstatte behovet for NRPE-baserte overvåkingskontroller. Mester-klienten

Slik installerer du Apache Cassandra 3.11.x på CentOS 7

Slik installerer du Apache Cassandra 3.11.x på CentOS 7

Bruker du et annet system? Apache Cassandra er et gratis og åpen kildekode NoSQL-databasebehandlingssystem som er designet for å gi skalerbarhet, høy

Slik installerer du Microweber på CentOS 7

Slik installerer du Microweber på CentOS 7

Bruker du et annet system? Microweber er en åpen kildekode dra og slipp CMS og nettbutikk. Microweber-kildekoden er vert på GitHub. Denne guiden vil vise deg

Hvordan installere Vanilla Forum på CentOS 7

Hvordan installere Vanilla Forum på CentOS 7

Bruker du et annet system? Vanilla forum er en åpen kildekode-forumapplikasjon skrevet i PHP. Det er en fullt tilpassbar, enkel å bruke og støtter ekstern

Slik installerer du Mattermost 4.1 på CentOS 7

Slik installerer du Mattermost 4.1 på CentOS 7

Bruker du et annet system? Mattermost er et åpen kildekode, selvdrevet alternativ til Slack SAAS-meldingstjenesten. Med andre ord, med Mattermost kan du ca

Opprette et nettverk av Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Opprette et nettverk av Minecraft-servere med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Hva du trenger En Vultr VPS med minst 1 GB RAM. SSH-tilgang (med root/administratorrettigheter). Trinn 1: Installere BungeeCord Først

La oss kryptere på Plesk

La oss kryptere på Plesk

Plesk-kontrollpanelet har en veldig fin integrasjon for Lets Encrypt. Lets Encrypt er en av de eneste SSL-leverandørene som gir ut sertifikater komplett

La oss kryptere på cPanel

La oss kryptere på cPanel

Lets Encrypt er en sertifiseringsinstans dedikert til å tilby SSL-sertifikater gratis. cPanel har bygget en ryddig integrasjon slik at du og din klient

Hvordan installere Concrete5 på CentOS 7

Hvordan installere Concrete5 på CentOS 7

Bruker du et annet system? Concrete5 er et åpen kildekode CMS som tilbyr mange karakteristiske og nyttige funksjoner for å hjelpe redaktører med å produsere innhold enkelt og

Slik installerer du Review Board på CentOS 7

Slik installerer du Review Board på CentOS 7

Bruker du et annet system? Review Board er et gratis og åpen kildekodeverktøy for gjennomgang av kildekode, dokumentasjon, bilder og mye mer. Det er nettbasert programvare

Sett opp HTTP-autentisering med Nginx på CentOS 7

Sett opp HTTP-autentisering med Nginx på CentOS 7

I denne veiledningen lærer du hvordan du setter opp HTTP-autentisering for en Nginx-webserver som kjører på CentOS 7. Krav For å komme i gang trenger du

Slik installerer du GoAccess på CentOS 7

Slik installerer du GoAccess på CentOS 7

Bruker du et annet system? GoAccess er en åpen kildekode-nettlogganalysator. Du kan bruke den til analyse av logger på sanntidsbasis i enten terminalen eller

Hvordan installere YOURLS på CentOS 7

Hvordan installere YOURLS på CentOS 7

YOURLS (Your Own URL Shortener) er en åpen kildekode-applikasjon for URL-forkorting og dataanalyse. I denne artikkelen vil vi dekke installasjonsprosessen

Hvordan installere og konfigurere ArangoDB på CentOS 7

Hvordan installere og konfigurere ArangoDB på CentOS 7

Bruker du et annet system? Introduksjon ArangoDB er en åpen kildekode NoSQL-database med en fleksibel datamodell for dokumenter, grafer og nøkkelverdier. Det er

Bruke Etckeeper for versjonskontroll av /etc

Bruke Etckeeper for versjonskontroll av /etc

Innledning /etc/-katalogen spiller en kritisk rolle i måten et Linux-system fungerer på. Grunnen til dette er fordi nesten alle systemkonfigurasjoner

Hvorfor bør du bruke SSHFS? Hvordan montere et eksternt filsystem med SSHFS på CentOS 6

Hvorfor bør du bruke SSHFS? Hvordan montere et eksternt filsystem med SSHFS på CentOS 6

Mange systemadministratorer administrerer store mengder servere. Når filer må åpnes på tvers av forskjellige servere, logger du på hver enkelt individuelt ca

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer