Hur man installerar och konfigurerar Concourse CI på CentOS 7

Introduktion

Continuous Integration är en DevOps mjukvaruutvecklingspraxis som gör det möjligt för utvecklarna att ofta slå samman den modifierade koden till det delade arkivet många gånger om dagen. Efter varje sammanslagning utförs automatiska builds och tester för att upptäcka problem i koden. Det gör det möjligt för utvecklarna att hitta och lösa felen snabbt för att förbättra mjukvarans kvalitet och ge kontinuerlig leverans av programvaran. Att byta fram och tillbaka från Concourse är mycket enkelt eftersom det behåller all sin konfiguration i deklarativa filer som kan kontrolleras i versionskontroll. Det tillhandahåller också ett webbanvändargränssnitt som visar bygginformationen interaktivt.

Concourse komponenter.
  • ATC är huvudkomponenten i Concourse. Den ansvarar för att köra webbgränssnittet och API:et. Den tar också hand om all pipeline-schemaläggning.
  • TSA är en specialbyggd SSH-server. Det är ansvarigt för att säkert registrera en arbetare hos ATC.
  • Arbetare driver dessutom två olika tjänster:
    1. Garden är en containerkörning och ett gränssnitt för fjärrstyrning av containrar på en arbetare.
    2. Baggageclaim är en server för cache- och artefakthantering.
  • Fly är ett kommandoradsgränssnitt som används för att interagera med ATC för att konfigurera Concourse Pipelines.

Förutsättningar

Se till att ersätta alla förekomster av 192.0.2.1och ci.example.commed din faktiska Vultr offentliga IP-adress och faktiska domännamn.

Uppdatera ditt bassystem med hjälp av guiden Hur man uppdaterar CentOS 7 . När ditt system har uppdaterats, fortsätt att installera PostgreSQL.

Installera och konfigurera PostgreSQL-databas

PostgreSQL är ett relationsdatabassystem för objekt. Concourse lagrar sina pipelinedata i en PostgreSQL-databas. Lägg till PostgreSQL-förvaret.

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

Installera PostgreSQL-databasservern.

sudo yum -y install postgresql96-server postgresql96-contrib

Initiera databasen.

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

initdbskapar ett nytt PostgreSQL-databaskluster, som är en samling databaser som hanteras av en enda serverinstans. Redigera pg_hba.conffilen för att aktivera MD5-baserad autentisering.

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

Hitta följande rader och ändra värden peeroch identi METHODkolumnen till trustoch md5, respektive.

# 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 väl har uppdaterats bör konfigurationen se ut så här.

# 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

Starta PostgreSQL-servern och låt den starta automatiskt vid uppstart.

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

Ändra lösenordet för standardpostgreSQL-användaren.

sudo passwd postgres

Logga in som PostgreSQL-användare:

sudo su - postgres

Skapa en ny PostgreSQL-användare för Concourse CI.

createuser concourse

Obs : StandardpostgreSQL-användaren kan användas för autentisering av databasen, men det rekommenderas att använda en dedikerad användare för autentisering av Concourse-databasen i en produktionsuppsättning.

PostgreSQL tillhandahåller ett skal för att köra frågor på databasen. Växla till PostgreSQL-skalet genom att köra:

psql

Ställ in ett lösenord för den nyskapade Concourse-databasanvändaren.

ALTER USER concourse WITH ENCRYPTED password 'DBPassword';

Viktigt : Ersätt DBPasswordmed ett starkt lösenord. Anteckna lösenordet eftersom det kommer att krävas senare i handledningen.

Skapa en ny databas för Concourse.

CREATE DATABASE concourse OWNER concourse;

Gå ur psqlskalet.

\q

Växla till sudo-användaren från nuvarande postgres-användare.

exit

Ladda ner och installera Concourse CI

Ladda ner den senaste versionen av Concourse körbar och lagra den /usr/binså att den kan köras direkt. Den senaste versionen av Concourse och Fly binärer finns på Concourse nedladdningssida . Nya släpp är mycket frekventa. Ersätt länken nedan med den nya länken för den senaste versionen.

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

På samma sätt laddar du ner den senaste versionen av den körbara flygfilen och lagrar den i /usr/bin.

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

Fly är kommandoradsgränssnittet för att ansluta till ATC API för Concourse CI. Fly är tillgängligt för flera plattformar som Linux, Windows och MacOS.

Tilldela exekveringsbehörighet till de nedladdade concourseoch flybinära filerna.

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

Kontrollera om Concourse och Fly fungerar korrekt genom att kontrollera deras version.

concourse -version
fly -version

Generera och konfigurera RSA-nycklar

RSA-nyckelpar ger ett sätt att kryptera kommunikationen mellan komponenterna i Concourse.

För att Concourse ska fungera måste minst tre par nycklar genereras. För att kryptera sessionsdata, generera en session_signing_key. Denna nyckel kommer också att användas av TSA för att signera de förfrågningar den gör till ATC. För att säkra TSA SSH-servern, generera en tsa_host_key. Till sist, generera en worker_keyför varje arbetare.

Skapa en ny katalog för att lagra nycklar och konfiguration relaterade till Concourse CI.

sudo mkdir /opt/concourse

Skapa de nödvändiga nycklarna.

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

Auktorisera arbetarnas publika nyckel genom att kopiera dess innehåll till authorized_worker_keysfilen:

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

Startar Concours

Concourse tillhandahåller två separata komponenter som måste startas, webben och arbetaren. Starta Concourse-webben.

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

Ändra användarnamn och lösenord för den basic-authom så önskas. Se till att sökvägen till nyckelfilerna är korrekt och se till att rätt värde för användarnamn och lösenord i PostgreSQL-databaskonfigurationen tillhandahålls.

Obs : ATC lyssnar på standardporten 8080och TSA lyssnar på porten 2222. Om autentisering inte önskas, skicka --no-really-i-dont-want-any-authalternativet efter att du har tagit bort de grundläggande autentiseringsalternativen.

När webbservern har startat ska följande utdata visas.

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

Stoppa servern för nu, eftersom några fler saker fortfarande måste ställas in.

Starta 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

Ovanstående kommando förutsätter att TSA körs på localhost och lyssnar på standardporten 2222.

Även om Concourse webb och worker enkelt kan startas med kommandona ovan, rekommenderas det att använda Systemd för att hantera servern.

Konfigurera miljö och systemtjänst

Att använda Systemd-tjänsten för att hantera programmet säkerställer att programmet startas automatiskt vid fel och vid uppstart. Concourse-servern tar inte data från någon konfigurationsfil, men den kan komma åt data från miljövariabler. Istället för att ställa in globala miljövariabler, skapa en ny fil för att lagra miljövariablerna och skicka sedan variablerna till Concourse CI med hjälp av Systemd-tjänsten.

Skapa en ny miljöfil för Concourse web.

sudo nano /opt/concourse/web.env

Fyll i filen.

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

Ändra användarnamn och lösenord för den BASIC_AUTHom så önskas. Se till att sökvägen till nyckelfilerna är korrekt och se till att rätt värde för användarnamn och lösenord i PostgreSQL-databaskonfigurationen tillhandahålls.

Skapa på samma sätt en miljöfil för arbetaren.

sudo nano /opt/concourse/worker.env

Fyll i filen.

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

Eftersom miljöfilerna innehåller användarnamn och lösenord, ändra dess behörigheter så att de inte kan nås av andra användare.

sudo chmod 600 /opt/concourse/*.env

Skapa nu en ny användare för Concourse för att köra webbmiljön. Detta kommer att säkerställa att webbservern körs i en isolerad miljö.

sudo adduser --system concourse

Ge Concourse-användaren äganderätt över Concourse CI-filens katalog.

sudo chown -R concourse:concourse /opt/concourse

Skapa en ny systemd servicefil för Concourse webbtjänst.

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

Fyll i filen.

[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

Spara och stäng filen. Skapa en ny tjänstefil för Concourse worker-tjänsten.

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

Fyll i filen.

[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

Webb- och arbetartjänsten kan nu startas direkt genom att köra:

sudo systemctl start concourse-web concourse-worker

För att aktivera arbets- och webbprocessen att starta automatiskt vid uppstart, kör:

sudo systemctl enable concourse-worker concourse-web

För att kontrollera status för tjänster, kör:

sudo systemctl status concourse-worker concourse-web

Om tjänsten inte startas, eller i FAILEDtillståndet, ta bort cachen från /tmpkatalogen.

sudo rm -rf /tmp/*

Starta om tjänsterna.

sudo systemctl restart concourse-worker concourse-web

Observera att den här gången har tjänsterna startat korrekt. Resultatet vid verifiering av tjänsternas status bör vara liknande.

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

Justera din brandvägg för att tillåta port 8080, där ATS körs och port 2222, där TSA körs.

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

Ansluter till servern

När servern väl har startat kan webbgränssnittet för Concourse CI nås genom att gå till http://192.0.2.1:8080i vilken webbläsare som helst. Logga in med det användarnamn och lösenord som finns i miljöfilen.

För att ansluta till servern med Fly, kör:

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

Kommandot ovan används för första inloggning till servern. -tanvänds för att ange ett målnamn. ersätt my-cimed valfritt målnamn. Ovanstående kommando kommer att logga in på standardteamet main. Det kommer att fråga efter användarnamnet och lösenordet som finns i miljöfilen.

Utgången kommer att se ut som följande.

[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ålinloggningen sparas i en dag. Efter det kommer den att löpa ut.

Att logga ut omedelbart.

fly -t my-ci logout

fly kan användas för att logga in på servern utanför nätverket, men bara om servern har en offentlig IP-adress och den är tillgänglig utanför nätverket. Windows- eller MacOS-binären kan laddas ner från nedladdningssidan eller från serverns webbgränssnitt.

Konfigurera Nginx Reverse Proxy

Inloggningar och annan information som skickas via webbgränssnittet till Concourse-servern är inte säkrad. Anslutningen är inte krypterad. En Nginx omvänd proxy kan ställas in med en Let's Encrypt gratis SSL.

Installera Nginx-webbservern och Certbot, som är klientapplikationen för Let's Encrypt CA.

sudo yum -y install certbot-nginx nginx

Starta och aktivera Nginx för att automatiskt starta vid uppstart:

sudo systemctl start nginx
sudo systemctl enable nginx

Innan en begäran kan göras för certifikaten måste port 80 och 443, eller standard HTTP- och HTTPS-tjänster, aktiveras via brandväggen. Certbot kommer att kontrollera domänmyndigheten innan certifikat utfärdas.

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

Port 8080 behöver inte längre tillåtas genom brandväggen eftersom Concourse nu kommer att köras på standard HTTPS-porten. Ta bort brandväggsposten för att tillåta port 8080.

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

Notera

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.

Generera SSL-certifikaten.

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

De genererade certifikaten kommer sannolikt att lagras i /etc/letsencrypt/live/ci.example.com/katalogen. SSL-certifikatet kommer att lagras som fullchain.pemoch den privata nyckeln kommer att lagras som privkey.pem.

Låt oss kryptera certifikat går ut om 90 dagar, så det rekommenderas att automatisk förnyelse för certifikaten ställs in med cronjobs. Cron är en systemtjänst som används för att köra periodiska uppgifter.

Öppna cron-jobbfilen.

sudo crontab -e

Lägg till följande rad i slutet av filen.

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

Ovanstående cron-jobb kommer att köras varje måndag kl. 05.30. Om certifikatet löper ut kommer det automatiskt att förnyas.

Skapa en ny virtuell värd.

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

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

Obs : Ersätt ci.example.commed den faktiska domänen.

Redigera miljöfilen som skapats för concourse Web.

sudo nano /opt/concourse/web.env

Ändra värdet på CONCOURSE_EXTERNAL_URLoch lägg till ytterligare två rader i slutet av filen.

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

Spara filen och starta om Concourse Web, Worker och Nginx webbserver:

sudo systemctl restart concourse-worker concourse-web nginx

All data som skickas till och från webbläsaren är nu säkrad med SSL-krypteringar.


Installera Plesk på CentOS 7

Installera Plesk på CentOS 7

Använder du ett annat system? Plesk är en egen kontrollpanel för webbhotell som tillåter användare att administrera sina personliga och/eller klienters webbplatser, databaser

Hur man installerar Squid Proxy på CentOS

Hur man installerar Squid Proxy på CentOS

Squid är ett populärt, gratis Linux-program som låter dig skapa en webbproxy för vidarebefordran. I den här guiden ser du hur du installerar Squid på CentOS för att förvandla dig

Hur man installerar Lighttpd (LLMP Stack) på CentOS 6

Hur man installerar Lighttpd (LLMP Stack) på CentOS 6

Inledning Lighttpd är en apachegaffel som syftar till att vara mycket mindre resurskrävande. Den är lätt, därav namnet, och är ganska enkel att använda. Installera

Konfigurera statiskt nätverk och IPv6 på CentOS 7

Konfigurera statiskt nätverk och IPv6 på CentOS 7

VULTR har nyligen gjort ändringar på deras sida, och allt borde nu fungera bra direkt när NetworkManager är aktiverat. Om du vill inaktivera

Ändra Icinga2 för att använda Master/Client Model på CentOS 6 eller CentOS 7

Ändra Icinga2 för att använda Master/Client Model på CentOS 6 eller CentOS 7

Icinga2 är ett kraftfullt övervakningssystem, och när det används i en master-klient-modell kan det ersätta behovet av NRPE-baserade övervakningskontroller. Master-klienten

Hur man installerar Apache Cassandra 3.11.x på CentOS 7

Hur man installerar Apache Cassandra 3.11.x på CentOS 7

Använder du ett annat system? Apache Cassandra är ett gratis NoSQL-databashanteringssystem med öppen källkod som är designat för att ge skalbarhet, hög

Hur man installerar Microweber på CentOS 7

Hur man installerar Microweber på CentOS 7

Använder du ett annat system? Microweber är en öppen källkod för dra och släpp CMS och onlinebutik. Microweber källkod finns på GitHub. Denna guide kommer att visa dig

Hur man installerar Vanilla Forum på CentOS 7

Hur man installerar Vanilla Forum på CentOS 7

Använder du ett annat system? Vanilla forum är en open source forumapplikation skriven i PHP. Det är en helt anpassningsbar, enkel att använda och stöder externa

Hur man installerar Mattermost 4.1 på CentOS 7

Hur man installerar Mattermost 4.1 på CentOS 7

Använder du ett annat system? Mattermost är ett alternativ med öppen källkod, självvärd till meddelandetjänsten Slack SAAS. Med andra ord, med Mattermost, du ca

Skapa ett nätverk av Minecraft-servrar med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Skapa ett nätverk av Minecraft-servrar med BungeeCord på Debian 8, Debian 9 eller CentOS 7

Vad du behöver En Vultr VPS med minst 1 GB RAM. SSH-åtkomst (med root-/administrativa privilegier). Steg 1: Installera BungeeCord Först till kvarn

Låt oss kryptera på Plesk

Låt oss kryptera på Plesk

Plesks kontrollpanel har en mycket trevlig integration för Lets Encrypt. Lets Encrypt är en av de enda SSL-leverantörerna som ger ut certifikat fullständigt

Låter kryptera på cPanel

Låter kryptera på cPanel

Lets Encrypt är en certifikatmyndighet dedikerad till att tillhandahålla SSL-certifikat gratis. cPanel har byggt en snygg integration så att du och din klient

Hur man installerar Concrete5 på CentOS 7

Hur man installerar Concrete5 på CentOS 7

Använder du ett annat system? Concrete5 är ett CMS med öppen källkod som erbjuder många distinkta och användbara funktioner för att hjälpa redaktörer att producera innehåll enkelt och

Hur man installerar Review Board på CentOS 7

Hur man installerar Review Board på CentOS 7

Använder du ett annat system? Review Board är ett gratis och öppen källkodsverktyg för att granska källkod, dokumentation, bilder och många fler. Det är webbaserad mjukvara

Ställ in HTTP-autentisering med Nginx på CentOS 7

Ställ in HTTP-autentisering med Nginx på CentOS 7

I den här guiden lär du dig hur du ställer in HTTP-autentisering för en Nginx-webbserver som körs på CentOS 7. Krav För att komma igång behöver du

Hur man installerar YOURLS på CentOS 7

Hur man installerar YOURLS på CentOS 7

YOURLS (Your Own URL Shortener) är ett webbadressförkortnings- och dataanalysprogram med öppen källkod. I den här artikeln kommer vi att täcka installationsprocessen

Hur man installerar och konfigurerar ArangoDB på CentOS 7

Hur man installerar och konfigurerar ArangoDB på CentOS 7

Använder du ett annat system? Inledning ArangoDB är en NoSQL-databas med öppen källkod med en flexibel datamodell för dokument, grafer och nyckel-värden. Det är

Använda Etckeeper för versionskontroll av /etc

Använda Etckeeper för versionskontroll av /etc

Inledning Katalogen /etc/ spelar en avgörande roll för hur ett Linux-system fungerar. Anledningen till detta är att nästan varje systemkonfiguration

Varför ska du använda SSHFS? Hur man monterar ett fjärrfilsystem med SSHFS på CentOS 6

Varför ska du använda SSHFS? Hur man monterar ett fjärrfilsystem med SSHFS på CentOS 6

Många systemadministratörer hanterar stora mängder servrar. När filer behöver nås över olika servrar, logga in på var och en individuellt ca

Konfigurera en Half Life 2-server på CentOS 6

Konfigurera en Half Life 2-server på CentOS 6

Denna handledning kommer att täcka processen att installera en Half Life 2-spelserver på CentOS 6 System. Steg 1: Installera förutsättningarna För att ställa in ou

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer