Vzpon strojev: aplikacije AI v resničnem svetu
Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.
GoCD je odprtokodni sistem za neprekinjeno dostavo in avtomatizacijo. Omogoča vam modeliranje zapletenih delovnih tokov z uporabo njegovega vzporednega in zaporednega izvajanja. Njegov zemljevid toka vrednosti vam omogoča enostavno vizualizacijo zapletenega delovnega procesa z lahkoto. GoCD vam omogoča enostavno primerjavo dveh različic in uvajanje katere koli različice aplikacije, ki jo želite. Ekosistem GoCD je sestavljen iz strežnika GoCD in agenta GoCD. GoCD je odgovoren za nadzor vsega, kot je zagon spletnega uporabniškega vmesnika ter upravljanje in zagotavljanje opravil agentu. Go agenti so odgovorni za izvajanje opravil in razmestitev.
Za to vadnico bomo uporabili 192.168.1.1kot javni naslov IP in gocd.example.comkot ime domene, usmerjeno proti primerku Vultr. Poskrbite, da boste zamenjali vse pojavitve vzorčnega imena domene in naslova IP z dejanskim.
Posodobite svoj osnovni sistem z uporabo priročnika Kako posodobiti CentOS 7 . Ko je vaš sistem posodobljen, nadaljujte z namestitvijo Jave.
GoCD zahteva različico Java 8 in podpira tako Oracle Java kot OpenJDK. V tej vadnici bomo namestili Javo 8 iz OpenJDK.
OpenJDK je mogoče enostavno namestiti, saj je paket na voljo v privzetem YUMskladišču.
sudo yum -y install java-1.8.0-openjdk-devel
Če je Java pravilno nameščena, boste lahko preverili njeno različico.
java -version
Dobili boste podoben rezultat kot v naslednjem besedilu.
[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)
Preden lahko nadaljujemo, bomo morali nastaviti spremenljivke okolja JAVA_HOMEin JRE_HOME. Poiščite absolutno pot izvršljive datoteke Java v vašem sistemu.
readlink -f $(which java)
Naslednje besedilo bo izpisano na vaš terminal.
[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
Zdaj nastavite spremenljivke okolja JAVA_HOMEin JRE_HOMEglede na pot imenika Java.
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
Opomba: Prepričajte se, da uporabljate pot Java, pridobljeno v vašem sistemu. Pot, uporabljena v tej vadnici, se lahko spremeni, ko bo izdana nova različica Jave 8.
Izvedite bash_profiledatoteko.
source ~/.bash_profile
Zdaj lahko zaženete echo $JAVA_HOMEukaz, da zagotovite, da je spremenljivka okolja nastavljena.
[user@vultr ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64
GoCD je napisan v Javi, zato je Java edina odvisnost za zagon GoCD. GoCD je mogoče namestiti s pomočjo YUM. Namestite njegovo uradno skladišče v sistem.
sudo curl https://download.gocd.org/gocd.repo -o /etc/yum.repos.d/gocd.repo
Namestite strežnik GoCD v svoj sistem.
sudo yum install -y go-server
Zaženite GoCD in omogočite, da se samodejno zažene ob zagonu.
sudo systemctl start go-server
sudo systemctl enable go-server
Preden dostopimo do nadzorne plošče GoCD, ustvarimo nov imenik za shranjevanje artefaktov. Artefakte je mogoče shraniti na isti disk, na katerem so nameščeni operacijski sistem in aplikacije. Za shranjevanje artefaktov lahko uporabite tudi namenski disk ali blok za shranjevanje.
Če želite isti disk uporabiti za shranjevanje artefaktov, preprosto ustvarite nov imenik in zagotovite lastništvo uporabniku GoCD.
sudo mkdir /opt/artifacts
sudo chown -R go:go /opt/artifacts
Programska oprema GoCD priporoča uporabo dodatne particije ali pogona za shranjevanje artefaktov. V nenehni platformi za integracijo in dostavo se artefakti generirajo zelo pogosto. Prostor na disku se sčasoma zmanjšuje, ko se nenehno ustvarjajo novi artefakti. V neki fazi bo vašemu sistemu zmanjkalo prostega prostora na disku in storitve, ki se izvajajo v vašem sistemu, ne bodo uspele. Če želite premagati to težavo, lahko za shranjevanje artefaktov priključite nov pogon za shranjevanje blokov Vultr . Če še vedno želite shranjevati artefakte na isti pogon, preskočite na razdelek »Nastavitev požarnega zidu«.
Namestite nov pogon za shranjevanje blokov in ga priključite na vaš primerek strežnika GoCD. Zdaj ustvarite novo particijo na napravi za shranjevanje blokov.
sudo parted -s /dev/vdb mklabel gpt
sudo parted -s /dev/vdb unit mib mkpart primary 0% 100%
Ustvarite datotečni sistem na novem disku.
sudo mkfs.ext4 /dev/vdb1
Namestite pogon za shranjevanje blokov.
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
Zdaj zaženite dfin videli boste nov pogon za shranjevanje blokov, nameščen na /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
Zagotovite lastništvo imenika uporabniku GoCD.
sudo chown -R go:go /mnt/artifacts
Spremenite konfiguracijo požarnega zidu, da omogočite vrata 8153in 8154prek požarnega zidu. Vrata 8153poslušajo nezavarovane povezave in vrata 8154za zaščitene povezave.
sudo firewall-cmd --zone=public --add-port=8153/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8154/tcp --permanent
sudo firewall-cmd --reload
Zdaj lahko dostopate do nadzorne plošče GoCD na http://192.168.1.1:8153. Za dostop do nadzorne plošče GoCD prek zaščitene povezave odprite https://192.168.1.1:8154. Prikaže se napaka, ki kaže, da potrdila niso veljavna. Napako lahko varno prezrete, saj so potrdila samopodpisana. Zaradi varnosti morate nadzorno ploščo vedno uporabljati prek zaščitene povezave.
Preden nastavite nov cevovod, se Admin >> Server Configurationv zgornji vrstici za krmarjenje pomaknite do » «.
Vnesite URL svojega nezaščitenega spletnega mesta v polje » Site URL« in zaščiteno spletno mesto v polje » Secure Site URL«.

Nato vnesite podatke o strežniku SMTP za pošiljanje e-poštnih obvestil iz GoCD.
Na koncu navedite pot do mesta, kjer želite shraniti artefakte. Če ste se odločili shraniti artefakte na isti disk kot operacijski sistem, vnesite /opt/artifacts; če ste se odločili za priključitev blokovnega pogona za shranjevanje, lahko vnesete /mnt/artifacts.
Prav tako lahko GoCD konfigurirate tako, da samodejno izbriše stare artefakte. Konfigurirajte naslednjo možnost glede na velikost vašega diska. Vendar pa možnost samodejnega brisanja ne naredi varnostne kopije vaših starih artefaktov. Če želite ročno narediti varnostno kopijo in nato izbrisati stare artefakte, onemogočite samodejno brisanje tako, da izberete možnost " Never" za možnost " Auto delete old artifacts".
Za uveljavitev novih sprememb boste morali znova zagnati strežnik GoCD.
sudo systemctl restart go-server
Nadzorna plošča GoCD privzeto ni konfigurirana za uporabo kakršnega koli preverjanja pristnosti, vendar podpira preverjanje pristnosti z uporabo datoteke z geslom in LDAP. V tej vadnici bomo nastavili preverjanje pristnosti na podlagi gesla.
Opomba : Nastavitev preverjanja pristnosti je neobvezen korak, vendar je močno priporočljiva za javne strežnike, kot je Vultr.
Namestite orodja Apache, da lahko uporabimo htpasswdukaz za ustvarjanje šifrirane datoteke z geslom.
sudo yum -y install httpd-tools
Ustvarite datoteko z geslom z htpasswdukazom z uporabo šifriranja Bcrypt.
sudo htpasswd -B -c /etc/go/passwd_auth goadmin
Dvakrat vnesite geslo za uporabnika. Videli boste naslednji izhod.
[user@vultr ~]$ sudo htpasswd -B -c /etc/go/passwd_auth goadmin
New password:
Re-type new password:
Adding password for user goadmin
Dodate lahko toliko uporabnikov, kot želite, z istim ukazom zgoraj, vendar odstranite -cmožnost. -cMožnost, bo nadomestil obstoječo datoteko, ki nadomešča stare uporabnike z novega uporabnika.
sudo htpasswd -B /etc/go/passwd_auth gouser1
Ker smo ustvarili datoteko z geslom, znova dostopajte do nadzorne plošče GoCD. Admin >> Security >> Authorization ConfigurationsV zgornji vrstici za krmarjenje se pomaknite na » «. Kliknite na Addgumb in vnesite ID. Izberite " Password File Authentication Plugin for GoCD" za ID vtičnika in usmerite pot do datoteke z geslom. Zdaj kliknite Check Connectiongumb " ", da preverite, ali lahko GoCD uporablja datoteko z geslom za preverjanje pristnosti.
Na koncu shranite način preverjanja pristnosti. Znova naložite nadzorno ploščo in samodejno vas bo odjavila. Zdaj boste videli prijavni zaslon. Prijavite se s predhodno ustvarjenimi poverilnicami.
Skrbniškega uporabnika boste morali promovirati ročno, sicer bodo imeli vsi uporabniki skrbniške pravice. Admin >> User SummaryV zgornji vrstici za krmarjenje se pomaknite na » «.
Zdaj izberite skrbniškega uporabnika, ki ste ga ustvarili, in kliknite Rolesspustni meni " ". Uporabnika povišajte v edinega skrbnika tako, da izberete Go System Administratorpotrditveno polje " ".
Če želite dodati uporabnike v GoCD, ustvarjeno v datoteki z gesli, kliknite ADDgumb " " in poiščite uporabnika, ki bi jih dodal. Uporabniki so tudi samodejno dodani na nadzorno ploščo GoCD ob njihovi prvi prijavi. Očitno morajo biti uporabniki, da se prijavijo, dodati v datoteko z gesli, ki smo jo ustvarili prej.
GoCD privzeto posluša vrata 8153in 8154varne povezave. Čeprav vrata 8154zagotavljajo varno povezavo z aplikacijo, prikazujejo tudi napake brskalnika, saj uporablja samopodpisano potrdilo. V tem razdelku vadnice bomo namestili in zavarovali Nginx z brezplačnim certifikatom Let's Encrypt SSL. Spletni strežnik Nginx bo deloval kot povratni proxy za posredovanje dohodnih zahtev na HTTPkončno točko GoCD .
Namestite Nginx.
sudo yum -y install nginx
Zaženite Nginx in omogočite, da se samodejno zažene ob zagonu.
sudo systemctl start nginx
sudo systemctl enable nginx
Namestite Certbot, ki je odjemalska aplikacija za 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.
Let's Encrypt certificates expire in 90 days, so it is recommended to set up auto-renewal of the certificates using cron jobs.
Open the cron job file.
sudo crontab -e
Add the following line to the end of the file.
30 5 * * * /usr/bin/certbot renew --quiet
The above cron job will run every day at 5:30 AM. If the certificate is due for expiry, it will automatically renew.
Now, change the Nginx default configuration file to take out the default_server line.
sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf
Create a new configuration file for the GoCD web interface.
sudo nano /etc/nginx/conf.d/gocd.conf
Populate the file.
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;
}
}
Check for errors in the new configuration file.
sudo nginx -t
If you see the following output, the configuration is error free.
[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
If you have received some kind of error, make sure to double check the path to the SSL certificates. Restart the Nginx web server to implement the change in configuration.
sudo systemctl restart nginx
Now you can access the GoCD dashboard at https://gocd.example.com. Log in to your dashboard using the administrator credentials and navigate to "Admin >> Server Configuration" from the top navigation bar.
Set the "Site URL" and "Secure Site URL" to https://gocd.example.com. Port 8154 still needs to be accessible through the firewall so that the remote agents may connect to the server through port 8154, in case they are unable to connect through the standard HTTP port.
In the GoCD continuous integration environment, GoCD agents are the workers that are responsible for the execution of all the tasks. When a change in the source is detected, the pipeline is triggered and the jobs are assigned to the available workers for execution. The agent then executes the task and reports the final status after execution.
To run a pipeline, at least one agent must to be configured. Proceed to install the GoCD agent on the GoCD server.
Since we have already imported the GoCD repository into the server, we can directly install Go Agent.
sudo yum install -y go-agent
Now, start the GoCD server and enable it to automatically start at boot time.
sudo systemctl start go-agent
sudo systemctl enable go-agent
The GoCD agent running on the localhost is automatically enabled when detected.
Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.
Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.
Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.
Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.
Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…
Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.
Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.
Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.
V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.
Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več