The Rise of Machines: Real World Applications of AI
Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.
GoCD er et open source system til kontinuerlig levering og automatisering. Det giver dig mulighed for at modellere komplekse arbejdsgange ved hjælp af dens parallelle og sekventielle udførelse. Dets værdistrømskort giver dig mulighed for nemt at visualisere en kompleks arbejdsgang med lethed. GoCD lader dig nemt sammenligne to builds og implementere enhver version af den applikation, du ønsker. GoCD-økosystemet består af GoCD-server og GoCD-agent. GoCD er ansvarlig for at kontrollere alt, såsom at køre den webbaserede brugergrænseflade og administrere og levere job til agenten. Go-agenter er ansvarlige for at køre jobs og implementeringer.
Til denne vejledning vil vi bruge 192.168.1.1
som den offentlige IP-adresse og gocd.example.com
som domænenavnet, der pegede mod Vultr-forekomsten. Sørg for at erstatte alle forekomster af eksempeldomænenavnet og IP-adressen med det faktiske.
Opdater dit basissystem ved hjælp af vejledningen Sådan opdaterer du Ubuntu 16.04 . Når dit system er blevet opdateret, skal du fortsætte med at installere Java.
GoCD kræver Java version 8 og understøtter både Oracle Java og OpenJDK. Tilføj Ubuntu-depotet til Oracle Java 8.
sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update
Installer Oracle Java.
sudo apt -y install oracle-java8-installer
Tjek versionen.
java -version
Du vil se følgende output.
user@vultr:~$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
Indstil standardstien til Java ved at installere følgende pakke.
sudo apt -y install oracle-java8-set-default
Du kan kontrollere, om JAVA_HOME
er indstillet ved at køre.
echo $JAVA_HOME
Du vil se.
user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle
Hvis du slet ikke ser noget output, skal du logge ud fra den aktuelle shell og logge ind igen.
Installer GoCD's officielle lager i systemet.
echo "deb https://download.gocd.org /" | sudo tee /etc/apt/sources.list.d/gocd.list
curl https://download.gocd.org/GOCD-GPG-KEY.asc | sudo apt-key add -
sudo apt update
Installer GoCD-serveren i dit system.
sudo apt install -y go-server
Start GoCD og aktiver den til automatisk at starte ved opstart.
sudo systemctl start go-server
sudo systemctl enable go-server
Før vi får adgang til GoCD-dashboardet, lad os oprette en ny mappe til at gemme artefakterne. Artefakter kan gemmes på den samme disk, som operativsystemet og applikationerne er installeret på. Alternativt kan du bruge en dedikeret disk eller bloklagerdrev til at gemme artefakterne.
Hvis du ønsker at bruge den samme disk til at gemme artefakterne, skal du bare oprette en ny mappe og give ejerskabet til GoCD-brugeren.
sudo mkdir /opt/artifacts
sudo chown -R go:go /opt/artifacts
GoCD-softwaren anbefaler, at du bruger en ekstra partition eller et ekstra drev til at gemme artefakterne. I en kontinuerlig integrations- og leveringsplatform genereres artefakter meget ofte. Diskpladsen falder over tid, når nye artefakter konstant genereres. På et tidspunkt vil dit system løbe tør for ledig diskplads, og de tjenester, der kører på dit system, vil mislykkes. For at løse dette problem kan du vedhæfte et nyt Vultr-bloklagerdrev for at gemme artefakterne. Hvis du stadig ønsker at gå med lagring af artefakter på det samme drev, skal du springe til afsnittet "Konfigurer GoCD".
Implementer et nyt bloklagerdrev og vedhæft det til din GoCD-serverinstans. Opret nu en ny partition på bloklagerenheden.
sudo parted -s /dev/vdb mklabel gpt
sudo parted -s /dev/vdb unit mib mkpart primary 0% 100%
Opret filsystemet på den nye disk.
sudo mkfs.ext4 /dev/vdb1
Monter bloklagerdrevet.
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
Kør nu, df
og du vil se det nye bloklagerdrev monteret 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
Giv GoCD-brugeren ejerskab af mappen.
sudo chown -R go:go /mnt/artifacts
Nu kan du få adgang til GoCD-dashboardet på http://192.168.1.1:8153
. For at få adgang til GoCD-dashboardet på en sikret forbindelse skal du åbne https://192.168.1.1:8154
. Du får en fejl, der viser, at certifikaterne ikke er gyldige. Du kan roligt ignorere fejlen, da certifikaterne er selvsignerede. Af sikkerhedsmæssige årsager bør du altid bruge dashboardet over en sikker forbindelse.
Før du opsætter en ny pipeline, skal du navigere til " Admin >> Server Configuration
" fra den øverste navigationslinje.
Indtast URL'en til dit usikrede websted i feltet " Site URL
" og det sikrede websted i feltet " Secure Site URL
".
Angiv derefter dine SMTP-serverdetaljer for at sende e-mail-meddelelser fra GoCD.
Til sidst skal du angive stien til det sted, hvor du ønsker at opbevare artefakterne. Hvis du har valgt at gemme artefakterne på den samme disk som operativsystemet, skal du indtaste /opt/artifacts
; hvis du har valgt at vedhæfte et bloklagerdrev, så kan du indtaste /mnt/artifacts
.
Du kan også konfigurere GoCD til automatisk at slette de gamle artefakter. Konfigurer den næste mulighed i henhold til din diskstørrelse. Men muligheden for automatisk sletning tager ikke en sikkerhedskopi af dine gamle artefakter. For manuelt at tage en sikkerhedskopi og derefter slette de gamle artefakter, deaktiver automatisk sletning ved at vælge " Never
" muligheden for " Auto delete old artifacts
".
Du skal genstarte GoCD-serveren, så de nye ændringer anvendes.
sudo systemctl restart go-server
By default, the GoCD dashboard is not configured to use any kind of authentication, but it supports authentication using a password file and LDAP. In this tutorial, we will set up password-based authentication.
Note: Setting up authentication is an optional step, but it is strongly recommended for public facing servers, such as Vultr.
Install Apache tools so that we can use the htpasswd
command to create an encrypted password file.
sudo apt -y install apache2-utils
Create a password file with the htpasswd
command using Bcrypt encryption.
sudo htpasswd -B -c /etc/go/passwd_auth goadmin
Provide the password for the user twice. You will see the following output.
[user@vultr ~]$ sudo htpasswd -B -c /etc/go/passwd_auth goadmin
New password:
Re-type new password:
Adding password for user goadmin
You can add as many users as you want using the same command above, but remove the -c
option. The -c
option will replace the existing file, replacing old users with the new user.
sudo htpasswd -B /etc/go/passwd_auth gouser1
Now that 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 any ID. Choose "Password File Authentication Plugin for GoCD
" for the 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.
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.
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.
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 a 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 apt -y install nginx
Start Nginx and enable it to automatically start at boot time.
sudo systemctl start nginx
sudo systemctl enable nginx
Add the Certbot repository.
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
Install Certbot, which is the client application for Let's Encrypt CA.
sudo apt -y install certbot
Note: To obtain certificates from Let's Encrypt CA, the domain for which the certificates are to be generated must be pointed towards the server. If not, make the necessary changes to the DNS records of the domain and wait for the DNS to propagate before making the certificate request again. Certbot checks the domain authority before providing the certificates.
Generate the SSL certificates.
sudo certbot certonly --webroot -w /var/www/html -d 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 expiration, it will automatically renew.
Create a new configuration file for the GoCD web interface.
sudo nano /etc/nginx/sites-available/gocd
Populate the file.
upstream gocd {
server 127.0.0.1:8153;
}
server {
listen 80;
server_name gocd.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
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;
}
}
Activate the configuration file.
sudo ln -s /etc/nginx/sites-available/gocd /etc/nginx/sites-enabled/gocd
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 into 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
.
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 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 apt 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.
Kunstig intelligens er ikke i fremtiden, det er her lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.
Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.
Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.
Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.
Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...
Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.
Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af dataene. Denne blog dækker udviklingen af datalagring på basis af en infografik.
Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.
I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.
For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af mac-maskiner. Læs denne artikel for at lære mere