Hvordan installere og konfigurere GoCD på CentOS 7

GoCD er et åpen kildekodesystem for kontinuerlig levering og automatisering. Den lar deg modellere komplekse arbeidsflyter ved å bruke dens parallelle og sekvensielle utførelse. Verdistrømkartet lar deg enkelt visualisere en kompleks arbeidsflyt. GoCD lar deg enkelt sammenligne to bygg og distribuere hvilken som helst versjon av applikasjonen du ønsker. GoCD-økosystemet består av GoCD-server og GoCD-agent. GoCD er ansvarlig for å kontrollere alt som å kjøre det nettbaserte brukergrensesnittet og administrere og gi jobber til agenten. Go-agenter er ansvarlige for å kjøre jobbene og distribusjonene.

Forutsetninger

  • En Vultr CentOS 7-serverforekomst med minst 1 GB RAM.
  • En sudo-bruker .
  • Et domenenavn pekte mot serveren.

For denne opplæringen vil vi bruke 192.168.1.1som den offentlige IP-adressen og gocd.example.comsom domenenavnet som pekte mot Vultr-forekomsten. Sørg for å erstatte alle forekomster av eksempeldomenenavnet og IP-adressen med den faktiske.

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

Installer Java

GoCD krever Java versjon 8 og støtter både Oracle Java og OpenJDK. I denne opplæringen skal vi installere Java 8 fra OpenJDK.

OpenJDK kan enkelt installeres, siden pakken er tilgjengelig i standarddepotet YUM.

sudo yum -y install java-1.8.0-openjdk-devel

Hvis Java er riktig installert, vil du kunne bekrefte versjonen.

java -version

Du vil få en lignende utgang til følgende tekst.

[user@vultr ~]$ java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)

Før vi kan gå videre, må vi sette opp JAVA_HOMEog JRE_HOMEmiljøvariablene. Finn den absolutte banen til den kjørbare Java-filen i systemet ditt.

readlink -f $(which java)

Følgende tekst sendes ut til terminalen din.

[user@vultr ~]$ readlink -f $(which java)
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/jre/bin/java

Nå satt de JAVA_HOMEog JRE_HOMEmiljøvariabler i henhold til banen for Java-katalogen.

echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64" >> ~/.bash_profile
echo "export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64/jre" >> ~/.bash_profile

Merk: Pass på at du bruker Java-banen du har fått på systemet. Banen som brukes i denne opplæringen kan endres når en ny versjon av Java 8 utgis.

Kjør bash_profilefilen.

source ~/.bash_profile

Nå kan du kjøre echo $JAVA_HOMEkommandoen for å sikre at miljøvariabelen er satt.

[user@vultr ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64

Installer GoCD

GoCD er skrevet i Java, derfor er Java den eneste avhengigheten for å kjøre GoCD. GoCD kan installeres ved hjelp av YUM. Installer det offisielle depotet i systemet.

sudo curl https://download.gocd.org/gocd.repo -o /etc/yum.repos.d/gocd.repo

Installer GoCD-serveren i systemet ditt.

sudo yum install -y go-server

Start GoCD og aktiver den til å starte automatisk ved oppstart.

sudo systemctl start go-server
sudo systemctl enable go-server

Før vi får tilgang til GoCD-dashbordet, la oss lage en ny katalog for å lagre artefaktene. Artefakter kan lagres på samme disk som operativsystemet og applikasjonene er installert på. Alternativt kan du bruke en dedikert disk eller blokklagringsstasjon for å lagre artefaktene.

Hvis du ønsker å bruke den samme disken til å lagre artefaktene, er det bare å opprette en ny katalog og oppgi eierskapet til GoCD-brukeren.

sudo mkdir /opt/artifacts
sudo chown -R go:go /opt/artifacts

Konfigurer blokklagring

GoCD-programvaren anbefaler å bruke en ekstra partisjon eller stasjon for å lagre artefaktene. I en kontinuerlig integrasjons- og leveringsplattform genereres artefakter veldig ofte. Diskplassen reduseres over tid når nye artefakter genereres kontinuerlig. På et tidspunkt vil systemet gå tom for ledig diskplass og tjenestene som kjører på systemet vil mislykkes. For å overvinne dette problemet kan du legge ved en ny Vultr-blokklagringsstasjon for å lagre artefaktene. Hvis du fortsatt ønsker å lagre gjenstander på samme stasjon, hopper du til delen "Oppsett brannmur".

Distribuer en ny blokklagringsstasjon og koble den til GoCD-serverforekomsten. Opprett nå en ny partisjon på blokklagringsenheten.

sudo parted -s /dev/vdb mklabel gpt
sudo parted -s /dev/vdb unit mib mkpart primary 0% 100%

Opprett filsystemet på den nye disken.

sudo mkfs.ext4 /dev/vdb1

Monter blokklagringsstasjonen.

sudo mkdir /mnt/artifacts
sudo cp /etc/fstab /etc/fstab.backup
echo "
/dev/vdb1 /mnt/artifacts ext4 defaults,noatime 0 0" | sudo tee -a /etc/fstab
sudo mount /mnt/artifacts

Kjør nå df, og du vil se den nye blokklagringsstasjonen montert på /mnt/artifacts.

[user@vultr ~]$ df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/vda1       20616252 6313892  13237464  33% /

...
/dev/vdb1       10188052   36888   9610596   1% /mnt/artifacts

Gi eierskapet til katalogen til GoCD-brukeren.

sudo chown -R go:go /mnt/artifacts

Sett opp brannmur

Endre brannmurkonfigurasjonen for å tillate porter 8153og 8154gjennom brannmuren. Port 8153lytter etter usikrede tilkoblinger og port 8154for sikre tilkoblinger.

sudo firewall-cmd --zone=public --add-port=8153/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8154/tcp --permanent
sudo firewall-cmd --reload

Nå kan du få tilgang til GoCD-dashbordet på http://192.168.1.1:8153. For å få tilgang til GoCD-dashbordet på en sikker tilkobling, gå til https://192.168.1.1:8154. Du vil få en feil som viser at sertifikatene ikke er gyldige. Du kan trygt ignorere feilen ettersom sertifikatene er selvsignerte. Av sikkerhetshensyn bør du alltid bruke dashbordet over en sikker tilkobling.

Før du setter opp en ny pipeline, naviger til " Admin >> Server Configuration" fra den øverste navigasjonslinjen.

Skriv inn URL-en til ditt usikrede nettsted i " Site URL"-feltet og sikret nettsted i " Secure Site URL"-feltet.

Hvordan installere og konfigurere GoCD på CentOS 7

Deretter oppgir du SMTP-serverdetaljer for å sende e-postvarsler fra GoCD.

Hvordan installere og konfigurere GoCD på CentOS 7

Til slutt, oppgi banen til stedet der du ønsker å lagre gjenstandene. Hvis du har valgt å lagre artefaktene på samme disk som operativsystemet, skriv inn /opt/artifacts; hvis du har valgt å legge til en blokklagringsstasjon, kan du angi /mnt/artifacts.

Du kan også konfigurere GoCD til å automatisk slette de gamle artefaktene. Konfigurer det neste alternativet i henhold til diskstørrelsen din. Alternativet for automatisk sletting tar imidlertid ikke en sikkerhetskopi av dine gamle artefakter. For å ta en sikkerhetskopi manuelt og deretter slette de gamle artefaktene, deaktiver automatisk sletting ved å velge alternativet " Never" for alternativet " Auto delete old artifacts".

Hvordan installere og konfigurere GoCD på CentOS 7

Du må starte GoCD-serveren på nytt slik at de nye endringene blir tatt i bruk.

sudo systemctl restart go-server

Sett opp autentisering

Som standard er ikke GoCD-dashbordet konfigurert til å bruke noen form for autentisering, men det støtter autentisering ved hjelp av en passordfil og LDAP. I denne opplæringen vil vi sette opp passordbasert autentisering.

Merk : Konfigurering av autentisering er et valgfritt trinn, men det anbefales sterkt for offentlige servere, som Vultr.

Installer Apache-verktøy slik at vi kan bruke htpasswdkommandoen til å lage en kryptert passordfil.

sudo yum -y install httpd-tools

Lag en passordfil med htpasswdkommandoen ved å bruke Bcrypt-kryptering.

sudo htpasswd -B -c /etc/go/passwd_auth goadmin

Oppgi passordet til brukeren to ganger. Du vil se følgende utgang.

[user@vultr ~]$ sudo htpasswd -B -c /etc/go/passwd_auth goadmin
New password:
Re-type new password:
Adding password for user goadmin

Du kan legge til så mange brukere du vil ved å bruke samme kommando ovenfor, men fjerne -calternativet. Det -calternativet vil erstatte den eksisterende filen, erstatte gamle brukere med den nye brukeren.

sudo htpasswd -B /etc/go/passwd_auth gouser1

Since, we have created the password file, access the GoCD dashboard again. Navigate to "Admin >> Security >> Authorization Configurations" from the top navigation bar. Click on the Add button and provide an ID. Choose "Password File Authentication Plugin for GoCD" for plugin ID and direct the path to the password file. Now click on the "Check Connection" button to verify that GoCD can use the password file for authentication.

Hvordan installere og konfigurere GoCD på CentOS 7

Finally, save the authentication method. Reload the dashboard and it will automatically log you out. You will see a login screen now. Log in using the credentials created earlier.

You will need to promote the administrator user manually, otherwise, all the users will have administrator privileges. Navigate to "Admin >> User Summary" from the top navigation bar.

Now select the admin user you've created and click on the "Roles" drop-down. Promote the user to the only administrator by selecting the "Go System Administrator" checkbox.

Hvordan installere og konfigurere GoCD på CentOS 7

To add the users in GoCD created in the password file, click on the "ADD" button and search for the user to add them. Users are also automatically added to the GoCD dashboard on their first login. Obviously, for users to log in, they must be added to the password file we have created earlier.

Securing GoCD with Let's Encrypt SSL

By default, GoCD listens to ports 8153 and 8154 on secure connections. Though port 8154 provides a secure connection to the application, it also displays browser errors as it uses a self-signed certificate. In this section of the tutorial, we will install and secure Nginx with Let's Encrypt free SSL certificate. The Nginx web server will work as a reverse proxy to forward the incoming requests to GoCD's HTTP endpoint.

Install Nginx.

sudo yum -y install nginx

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

sudo systemctl start nginx
sudo systemctl enable nginx

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

sudo yum -y install certbot

Before you can request certificates, you will need to allow ports 80 and 443, or standard HTTP and HTTPS services, through the firewall. Also, remove port 8153, which listens to the unsecured connections.

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --zone=public --remove-port=8153/tcp --permanent
sudo firewall-cmd --reload

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 /usr/share/nginx/html -d gocd.example.com

The generated certificates are likely to be stored in /etc/letsencrypt/live/gocd.example.com/. The SSL certificate will be stored as fullchain.pem and private key will be stored as privkey.pem.

La oss kryptere sertifikater utløper om 90 dager, så det anbefales å sette opp automatisk fornyelse av sertifikatene ved hjelp av cron-jobber.

Åpne cron-jobbfilen.

sudo crontab -e

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

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

Cron-jobben ovenfor kjøres hver dag klokken 05.30. Hvis sertifikatet skal utløpe, vil det automatisk fornyes.

Endre nå Nginx standard konfigurasjonsfil for å ta ut default_serverlinjen.

sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf

Opprett en ny konfigurasjonsfil for GoCD-nettgrensesnittet.

sudo nano /etc/nginx/conf.d/gocd.conf

Fyll ut filen.

upstream gocd {
server 127.0.0.1:8153;
}

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

server {
    listen 443 default_server;
    server_name gocd.example.com;

    ssl_certificate           /etc/letsencrypt/live/gocd.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/gocd.example.com/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log  /var/log/nginx/gocd.access.log;

location / {
        proxy_pass http://gocd;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;
        proxy_redirect off;
    }
location /go {
    proxy_pass http://gocd/go;
    proxy_http_version 1.1;
    proxy_set_header Upgrade websocket;
    proxy_set_header Connection upgrade;
    proxy_read_timeout 86400;
    }
  }

Se etter feil i den nye konfigurasjonsfilen.

sudo nginx -t

Hvis du ser følgende utgang, er konfigurasjonen feilfri.

[user@vultr ~]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Hvis du har mottatt en form for feil, sørg for å dobbeltsjekke banen til SSL-sertifikatene. Start Nginx-nettserveren på nytt for å implementere endringen i konfigurasjonen.

sudo systemctl restart nginx

Nå kan du få tilgang til GoCD-dashbordet på https://gocd.example.com. Logg på dashbordet med administratorlegitimasjonen og naviger til " Admin >> Server Configuration" fra den øverste navigasjonslinjen.

Hvordan installere og konfigurere GoCD på CentOS 7

Sett " Site URL" og " Secure Site URL" til https://gocd.example.com. Porten 8154må fortsatt være tilgjengelig gjennom brannmuren slik at de eksterne agentene kan koble til serveren via porten 8154, i tilfelle de ikke kan koble seg til via standardporten HTTP.

Installerer GoCD Agent

I GoCD kontinuerlig integrasjonsmiljø er GoCD-agenter arbeiderne som er ansvarlige for utførelsen av alle oppgavene. Når en endring i kilden oppdages, utløses rørledningen og jobbene tildeles tilgjengelige arbeidere for utførelse. Agenten utfører deretter oppgaven og rapporterer den endelige statusen etter utførelse.

For å kjøre en pipeline må minst én agent være konfigurert. Fortsett å installere GoCD-agenten på GoCD-serveren.

Siden vi allerede har importert GoCD-lageret til serveren, kan vi installere Go Agent direkte.

sudo yum install -y go-agent

Start nå GoCD-serveren og aktiver den til å starte automatisk ved oppstart.

sudo systemctl start go-agent
sudo systemctl enable go-agent

GoCD-agenten som kjører på den lokale verten blir automatisk aktivert når den oppdages.


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