Квітень 2025 — команда React Native випустила версію 0.79, яка покращує продуктивність, оновлює інструменти та вдосконалює робочі процеси для розробників. Оновлення містять важливі зміни, які полегшують розробку кросплатформенних додатків для iOS, Android та інших платформ. У цій статті розглянемо основні нововведення.
📁 Крок 1: Створення файлу .gitlab-ci.yml
Перший крок — створення файлу .gitlab-ci.yml
у корені вашого Node.js проекту. Це конфігураційний файл для CI/CD pipeline, в якому визначаються етапи тестування та деплою.
🔐 Крок 2: Додавання змінних середовища
Створіть змінну в GitLab CI/CD з ім'ям ENV_FILE_CONTENT
, в яку збережіть вміст вашого .env
файлу. Це допоможе відновити цей файл у вашому CI/CD pipeline.
Для цього:
- Перейдіть до проекту на GitLab.
- Зайдіть в Settings → CI/CD → Variables.
- Додайте нову змінну:
- Key:
ENV_FILE_CONTENT
- Value: (Вставте вміст вашого
.env
файлу)
🔑 Крок 3: Генерація SSH ключів
Для того щоб GitLab Runner зміг підключитись до вашого сервера, необхідно згенерувати пару SSH ключів:
ssh-keygen -t rsa -b 4096 -C "[email protected]" -f ~/.ssh/idrsagitlab
Це створить два файли:
id_rsa_gitlab
(приватний ключ)id_rsa_gitlab.pub
(публічний ключ)
🧪 Крок 4: Додавання приватного SSH ключа до GitLab
Додайте приватний SSH ключ до GitLab як змінну CI/CD:
- Перейдіть до Settings → CI/CD → Variables.
- Додайте змінну:
- Key:
SSH_PRIVATE_KEY
- Value: (Виведіть вміст файлу
cat ~/.ssh/id_rsa_gitlab
)
🛠️ Крок 5: Налаштування доступу SSH до сервера
- Скопіюйте публічний ключ на сервер в файл
authorized_keys
:
cat ~/.ssh/idrsagitlab.pub | ssh root@your-server-ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
- Переконайтесь, що сервер приймає SSH з'єднання за допомогою ключа.
🔒 Крок 6: Додавання відбитка SSH хоста
Щоб уникнути запитів на підтвердження достовірності хоста, додайте відбиток хоста до GitLab як змінну SSH_KNOWN_HOSTS
:
ssh-keyscan -H reisalestrainer.cloud
Скопіюйте останній рядок виводу, що виглядатиме приблизно так:
resale.com ssh-ed25519 AKKKC3NzaC1lZDI1NTE5AKKKIExampleKeyHere
Додайте це значення як змінну:
- Key:
SSH_KNOWN_HOSTS
- Value: (Вставте скопійований рядок)
⚙️ Крок 7: Налаштування CI/CD pipeline
Ось базовий файл .gitlab-ci.yml
, який можна використовувати:
stages:
- test
- deploy
variables:
NODEENV: test
beforescript:
- echo "$ENVFILECONTENT" > .env
test:
stage: test
image: node:18
script:
- npm install
- npm test
deploy:
stage: deploy
beforescript:
- mkdir -p ~/.ssh
- echo "$SSHPRIVATEKEY" > ~/.ssh/ided25519
- chmod 600 ~/.ssh/ided25519
- echo "$SSHKNOWNHOSTS" > ~/.ssh/knownhosts
script:
- |
ssh -i ~/.ssh/ided25519 -o StrictHostKeyChecking=no username@domain << 'EOF'
echo "Connected to server:"
pwd
cd /var/www/project
git pull origin main
npm install --production
npx sequelize-cli db:migrate
pm2 restart processname
EOF
only:
- main
✅ Заключні примітки
- Переконайтесь, що на вашому сервері встановлено
pm2
,Node.js
таGit
. - Налаштуйте шляхи і команди деплою відповідно до структури вашого додатку.
- Використовуйте Protected Variables GitLab для захисту чутливої інформації.
З цими налаштуваннями ваш CI/CD pipeline автоматично перевірятиме і розгортатиме ваш Node.js додаток при кожному пуші в гілку main
. Насолоджуйтесь автоматизацією!
Перекладено з: Windows Non-Admin “nvm use …” | Bahasa