Перейти до основного вмісту

Публікації

Проблема при запуску Liquibase на Digital Ocean та її вирішення

Нещодавно зустрівся з такою проблемою: SpringBoot-проєкт не запустився на сервері через проблему пов’язану з Liquibase. Детальніше про проєкт Сам проєкт повністю написаний на SpringBoot, база даних на MySQL, міграція здійснюється за допомогою Liquibase. Проєкт відносно невеликий і локально запускався і працював без проблем. Але при запуску на продакт-сервері отримувалася помилка: ERROR org.springframework.boot.SpringApplication [main] Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liquibase' defined in class path resource [org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration$LiquibaseConfiguration.class]: Invocation of init method failed; nested exception is liquibase.exception.DatabaseException: Unable to create or change a table without a primary key, when the system variable 'sql_require_primary_key' is set. Add a primary key to the table or unset this variable to avoid this me...

Встановлення NodeJS на Ubuntu

NodeJS — це середовище виконання JavaScript для програмування на стороні сервера. Це дозволяє розробникам створювати масштабовану функціональність серверної частини за допомогою JavaScript. Також NodeJS часто необхідний для розробки на сучасних front end фреймворках та бібліотеках. Перевірити встановлену версію можна за допомогою команд node --version або node -v Встановлення за допомогою apt Якщо середовище nodejs ще не встановлене, можна встановити його ввівши команду sudo apt install nodejs Але в цьому випадку буде встановлена не остання версія, а v12.22.9. Хоча вже є доступна 18-та версія, яка є LST- версією. Якщо найновіша версія не потрібна, то таким же чином можна встановити і npm: sudo apt install npm Перевірка встановленої версії: npm --version або npm -v Якщо потрібна одна із найновіших версій, то можна зробити наступне. Встановлення за допомогою NodeSource PPA Найновішу версію можна встановити за допомогою NodeSource PPA (personal package...

Робота з різними версіями JDK в Ubuntu

Часто доводиться в різних проєктах працювати з різними вірсіями JDK. В Ubuntu це робити досить зручно. Дізнатися поточну версію: java -version Припустимо, що потрібно перейти на версію 11. Отримати список встановлених версій JDK: update-java-alternatives --list Якщо потрібна версія не встановлена, то можна її встановити за допомогою команди: sudo apt-get install openjdk-11-jdk Змінити активну версію: sudo update-alternatives --config java Потрібно ввести номер версії, в даному випадку 1. Перевірити, чи зміна відбулася успішно: java -version

Базові команди для роботи з Docker

Основні поняття Образ (image) - це певний шаблон для створення контенера. Шаблон можна взати готовий або створити самостійно. Образ може містити сирцевий код, бібліотеки, залежності та інші файли, необхідні для запуску застосунку. Контейнер (container) - це зібраний та запущений в окремому процесі образ. Робота з обазами Перегляд образів, що є в системі: docker images Додавання образу: docker pull image-name Наприклад наступна команда додає образ node.js: docker pull node Видалення образу: docker rmi image-id Робота з контейнерами Запуск контейнера: docker run image-id Список контейнерів можна переглянути командою docker ps або docker ps -a В другому випадку виведуться всі контейнери незалежно від стану. Видалити контейнер можна командою docker rm conteiner-id Видалити всі зупинені контейнери: docker container prune Якщо запускати образ із параметром --rm, то відповідний контейнер буде видалятися автоматично після зупинки.

Налаштування віддаленого сховища в git

Ініціалізувати репозиторій git в локальній директорії можна командою git init Розглянемо, як можна налаштувати збереження файлі в віддаленому сховищі на прикладі bitbucket . Для цього в bitbucket потрібно створити новий репозиторій. Зайшовши в цей репозиторій можна отримати шлях до нього, наприклад: https://webjdev@bitbucket.org/webjdev/newtest.git Тоді для додавання віддаленого сховища для локального репозиторію потрібно виконати команду git remote add origin https://webjdev@bitbucket.org/webjdev/newtest.git Для перевірки доданих віддалених сховищ можна використати команду git remote -v Для видалення зв’язку з відділеним репозиторієм: git remote rm origin Створити перший коміт можна такими командами git add . git commit -m ‘first commit’ Для копіювання даних на bitbucket: git push -u origin master

Встановлення десктопної версії Docker на Ubuntu

Підготовка для встновлення нового програмного забезпечення: sudo apt-get update Встановлення необхідних пакетів: sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release Створення директорію для GPG-ключа: sudo mkdir -p /etc/apt/keyrings Додаємо офіційний Docker ключ: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg Налаштування репозиторію: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null Завантажити deb-файл можна за посиланням: https://desktop.docker.com/linux/main/amd64/docker-desktop-4.16.1-amd64.deb?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-download-linux-amd64 Встановити Docker з цього файлу. В нашому випадку команда має вигляд: sudo apt-get insta...

Встановлення Node.js

Для роботи з багатьма фронт-енд фреймворками має бути встановлений Node.js та менеджер пакетів npm. Node.js — це кросплатформне середовище виконання JavaScript із відкритим вихідним кодом, яке виконує JS-код за межами веб-браузера. Node.js дозволяє розробникам використовувати JavaScript для написання інструментів командного рядка та для сценаріїв на стороні сервера — запуск сценаріїв на стороні сервера для створення динамічного вмісту веб-сторінки, перш ніж сторінка буде відправлена у веб-браузер користувача. npm (Node Package Manager) — менеджер пакетів за замовчуванням для Node.js. Він складається з клієнта командного рядка, який також називається npm, і онлайнової бази даних загальнодоступних і платних приватних пакетів. npm включає також npx (Node Package Execute) . npx дозволяє просто виконувати встановлені пакети. На сайті https://nodejs.org/uk/download/ потрібно завантажити одну із останніх версій. Як правило, пропонується інсталяція двох версій: останньої та LST. Для ко...