Повстання машин: застосування ШІ в реальному світі
Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.
GoCD — це система безперервної доставки та автоматизації з відкритим вихідним кодом. Він дозволяє моделювати складні робочі процеси, використовуючи його паралельне та послідовне виконання. Його карта потоку цінності дозволяє легко візуалізувати складний робочий процес. GoCD дозволяє легко порівнювати дві збірки та розгортати будь-яку версію програми, яку ви бажаєте. Екосистема GoCD складається з сервера GoCD та агента GoCD. GoCD відповідає за контроль всього, наприклад запуск веб-інтерфейсу користувача та керування та надання завдань агенту. Агенти Go відповідають за виконання завдань і розгортання.
У цьому підручнику ми будемо використовувати 192.168.1.1
як загальнодоступну IP-адресу та gocd.example.com
як доменне ім’я, спрямоване на екземпляр Vultr. Будь ласка, не забудьте замінити всі приклади доменного імені та IP-адреси фактичними.
Оновіть свою базову систему за допомогою посібника Як оновити Ubuntu 16.04 . Після оновлення системи перейдіть до встановлення Java.
GoCD вимагає Java версії 8 і підтримує як Oracle Java, так і OpenJDK. Додайте репозиторій Ubuntu для Oracle Java 8.
sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update
Встановіть Oracle Java.
sudo apt -y install oracle-java8-installer
Перевірте версію.
java -version
Ви побачите наступний висновок.
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)
Встановіть шлях за замовчуванням для Java, встановивши наступний пакет.
sudo apt -y install oracle-java8-set-default
Ви можете перевірити, чи JAVA_HOME
встановлено, запустивши.
echo $JAVA_HOME
Ти побачиш.
user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle
Якщо ви не бачите жодного виводу, вам потрібно буде вийти з поточної оболонки та знову ввійти.
Встановіть офіційний репозиторій GoCD в систему.
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
Встановіть сервер GoCD у вашій системі.
sudo apt install -y go-server
Запустіть GoCD і ввімкніть його автоматичний запуск під час завантаження.
sudo systemctl start go-server
sudo systemctl enable go-server
Перш ніж отримати доступ до інформаційної панелі GoCD, давайте створимо новий каталог для зберігання артефактів. Артефакти можуть зберігатися на тому самому диску, на якому встановлена операційна система та програми. Крім того, ви можете використовувати виділений диск або блочний накопичувач для зберігання артефактів.
Якщо ви хочете використовувати той самий диск для зберігання артефактів, просто створіть новий каталог і надайте право власності користувачеві GoCD.
sudo mkdir /opt/artifacts
sudo chown -R go:go /opt/artifacts
Програмне забезпечення GoCD рекомендує використовувати додатковий розділ або диск для зберігання артефактів. У платформі безперервної інтеграції та доставки артефакти генеруються дуже часто. Дисковий простір зменшується з часом, коли постійно генеруються нові артефакти. На певному етапі у вашій системі закінчиться вільний простір на диску, а служби, які працюють у вашій системі, вийде з ладу. Щоб подолати цю проблему, ви можете підключити новий блочний накопичувач Vultr для зберігання артефактів. Якщо ви все ще хочете використовувати зберігання артефактів на тому ж диску, перейдіть до розділу «Налаштувати GoCD».
Розгорніть новий блочний накопичувач і приєднайте його до екземпляра сервера GoCD. Тепер створіть новий розділ на блочному накопичувачі.
sudo parted -s /dev/vdb mklabel gpt
sudo parted -s /dev/vdb unit mib mkpart primary 0% 100%
Створіть файлову систему на новому диску.
sudo mkfs.ext4 /dev/vdb1
Змонтуйте блочний накопичувач.
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
Тепер запустіть, df
і ви побачите новий блочний накопичувач, змонтований на /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
Надати право власності на каталог користувачеві GoCD.
sudo chown -R go:go /mnt/artifacts
Тепер ви можете отримати доступ до інформаційної панелі GoCD на http://192.168.1.1:8153
. Щоб отримати доступ до інформаційної панелі GoCD через захищене з’єднання, перейдіть до https://192.168.1.1:8154
. Ви отримаєте повідомлення про те, що сертифікати недійсні. Ви можете сміливо ігнорувати помилку, оскільки сертифікати є самопідписаними. З міркувань безпеки ви завжди повинні використовувати інформаційну панель через захищене з’єднання.
Перш ніж налаштувати новий конвеєр, перейдіть до " Admin >> Server Configuration
" на верхній панелі навігації.
Введіть URL-адресу свого незахищеного сайту в поле " Site URL
", а захищений сайт - у поле " Secure Site URL
".
Далі введіть дані свого SMTP-сервера, щоб надсилати сповіщення електронною поштою від GoCD.
Нарешті, вкажіть шлях до місця, де ви хочете зберігати артефакти. Якщо ви вирішили зберігати артефакти на тому ж диску, що й операційна система, введіть /opt/artifacts
; якщо ви вирішили підключити блочний накопичувач, ви можете ввести /mnt/artifacts
.
Ви також можете налаштувати GoCD на автоматичне видалення старих артефактів. Налаштуйте наступний параметр відповідно до розміру вашого диска. Однак опція автоматичного видалення не створює резервну копію ваших старих артефактів. Щоб вручну створити резервну копію, а потім видалити старі артефакти, вимкніть автомати��не видалення, вибравши параметр " Never
" для параметра " Auto delete old artifacts
".
Вам потрібно буде перезапустити сервер GoCD, щоб нові зміни були застосовані.
sudo systemctl restart go-server
За замовчуванням інформаційна панель GoCD не налаштована на використання будь-яких видів аутентифікації, але вона підтримує автентифікацію за допомогою файлу пароля та LDAP. У цьому підручнику ми налаштуємо автентифікацію на основі пароля.
Примітка . Налаштування автентифікації є необов’язковим кроком, але настійно рекомендується для загальнодоступних серверів, таких як Vultr.
Встановіть інструменти Apache, щоб ми могли використовувати htpasswd
команду для створення зашифрованого файлу пароля.
sudo apt -y install apache2-utils
Створіть файл паролів за допомогою htpasswd
команди, використовуючи шифрування Bcrypt.
sudo htpasswd -B -c /etc/go/passwd_auth goadmin
Двічі введіть пароль для користувача. Ви побачите наступний висновок.
[user@vultr ~]$ sudo htpasswd -B -c /etc/go/passwd_auth goadmin
New password:
Re-type new password:
Adding password for user goadmin
Ви можете додати скільки завгодно користувачів, використовуючи ту саму команду вище, але вилучіть цей -c
параметр. -c
Варіант замінить існуючий файл, замінюючи старі користувач з новим користувачем.
sudo htpasswd -B /etc/go/passwd_auth gouser1
Тепер, коли ми створили файл паролів, знову відкрийте панель інструментів GoCD. Перейдіть до " Admin >> Security >> Authorization Configurations
" на верхній панелі навігації. Натисніть Add
кнопку та введіть будь-який ідентифікатор. Виберіть « Password File Authentication Plugin for GoCD
« для ідентифікатора плагіна та вкажіть шлях до файлу пароля. Тепер натисніть кнопку " Check Connection
", щоб переконатися, що GoCD може використовувати файл паролів для аутентифікації.
Нарешті, збережіть метод аутентифікації. Перезавантажте інформаційну панель, і вона автоматично виведе вас із системи. Зараз ви побачите екран входу. Увійдіть, використовуючи облікові дані, створені раніше.
Вам потрібно буде підвищити користувача адміністратора вручну, інакше всі користувачі матимуть права адміністратора. Перейдіть до " Admin >> User Summary
" на верхній панелі навігації.
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
Примітка : щоб отримати сертифікати від Let's Encrypt CA, домен, для якого мають бути створені сертифікати, має бути спрямований на сервер. Якщо ні, внесіть необхідні зміни в записи DNS домену та зачекайте, поки DNS пошириться, перш ніж знову надсилати запит на сертифікат. Certbot перевіряє авторитет домену перед наданням сертифікатів.
Згенеруйте сертифікати SSL.
sudo certbot certonly --webroot -w /var/www/html -d gocd.example.com
Згенеровані сертифікати, ймовірно, зберігатимуться в /etc/letsencrypt/live/gocd.example.com/
. Сертифікат SSL буде збережено як, fullchain.pem
а закритий ключ – як privkey.pem
.
Термін дії сертифікатів Let's Encrypt закінчується через 90 днів, тому рекомендується налаштувати автоматичне оновлення сертифікатів за допомогою завдань cron.
Відкрийте файл завдання cron.
sudo crontab -e
Додайте наступний рядок у кінець файлу.
30 5 * * * /usr/bin/certbot renew --quiet
Вищезазначене завдання cron виконуватиметься щодня о 5:30 ранку. Якщо термін дії сертифіката закінчився, його буде автоматично поновлено.
Створіть новий конфігураційний файл для веб-інтерфейсу GoCD.
sudo nano /etc/nginx/sites-available/gocd
Заповніть файл.
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;
}
}
Активуйте файл конфігурації.
sudo ln -s /etc/nginx/sites-available/gocd /etc/nginx/sites-enabled/gocd
Перезапустіть веб-сервер Nginx, щоб змінити конфігурацію.
sudo systemctl restart nginx
Тепер ви можете отримати доступ до інформаційної панелі GoCD за адресою https://gocd.example.com
. Увійдіть у свою інформаційну панель за допомогою облікових даних адміністратора та перейдіть до " Admin >> Server Configuration
" на верхній панелі навігації.
Встановіть " Site URL
" і " Secure Site URL
" на https://gocd.example.com
.
У середовищі безперервної інтеграції GoCD агенти GoCD є працівниками, які відповідають за виконання всіх завдань. Коли виявляється зміна джерела, запускається конвеєр, і завдання призначаються доступним працівникам для виконання. Потім агент виконує завдання та повідомляє про остаточний стан після виконання.
Щоб запустити конвеєр, потрібно налаштувати принаймні один агент. Перейдіть до встановлення агента GoCD на сервері GoCD.
Оскільки ми вже імпортували репозиторій GoCD на сервер, ми можемо безпосередньо встановити Go Agent.
sudo apt install -y go-agent
Тепер запустіть сервер GoCD і ввімкніть його автоматичний запуск під час завантаження.
sudo systemctl start go-agent
sudo systemctl enable go-agent
Агент GoCD, запущений на локальному хості, автоматично вмикається при виявленні.
Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.
Ви також стали жертвою DDOS-атак і спантеличені методами запобігання? Прочитайте цю статтю, щоб вирішити свої запитання.
Можливо, ви чули, що хакери заробляють багато грошей, але чи замислювалися ви коли-небудь, як вони заробляють такі гроші? давайте обговоримо.
Ви хочете побачити революційні винаходи Google і як ці винаходи змінили життя кожної людини сьогодні? Тоді читайте в блозі, щоб побачити винаходи Google.
Концепція самокерованих автомобілів, щоб вирушати в дороги за допомогою штучного інтелекту, є мрією, яку ми давно мріємо. Але, незважаючи на кілька обіцянок, їх ніде не видно. Прочитайте цей блог, щоб дізнатися більше…
Оскільки наука розвивається швидкими темпами, бере на себе багато наших зусиль, ризики піддати себе незрозумілій Сингулярності також зростає. Читайте, що може означати для нас сингулярність.
Методи зберігання даних можуть розвиватися з моменту народження Даних. Цей блог висвітлює еволюцію зберігання даних на основі інфографіки.
Прочитайте блог, щоб дізнатися про різні шари архітектури великих даних та їх функціональні можливості найпростішим способом.
У цьому цифровому світі пристрої розумного дому стали важливою частиною життя. Ось кілька дивовижних переваг пристроїв розумного дому щодо того, як вони роблять наше життя гідним життя та спрощують його.
Нещодавно Apple випустила додаткове оновлення macOS Catalina 10.15.4, щоб виправити проблеми, але схоже, що оновлення викликає більше проблем, що призводять до блокування комп’ютерів Mac. Прочитайте цю статтю, щоб дізнатися більше