Source: Промежуточная среда (staging)

← Rendered

markdown source:

---
description: Промежуточная среда разработка (staging)
tags: cicd tests
title: Промежуточная среда (staging)
---
Среда, полностью воспроизводящая окружение [[build-боевая-среда]]

Использовать:

- инфраструктуру как услугу ([PaaS](https://en.wikipedia.org/wiki/Platform_as_a_service)) против вирутального выделенного сервера (VPS)
- использовать [[fabric]]
- управление конфигурацией [[puppet]], chef, [[salt]], [[ansimble]]
- [[vargant]]
- продумать все сложные точки развертывания
- создать cl-сервер как можно раньше, чтобы не опираться на самодисциплину

Развертывание - способ [[тестирование]], когда веб-ресурс разворачивается в окружении, идентичном боевому. [[приемочные-тесты]] проводятся против такого ресурса и только затем проект отправляется на [[build-боевая-среда]]

## Пайплайн развертывания

- адаптировать ФТ так, чтобы они могли работать с промежучточным сервером (сконфигурировать пути и переменные путей)
- запустить сервер, установить на нем окружение и включить промежуточный и реальный домен
- заимпортить код с git
- реализовать тесты
- построить автоматизацию процесса отправки кода на сервер и тестирования
- еще раз протестировать
- перенести код на бой

## Нюансы

при развертывании надо следить за конфигурацией бд, стат.файлами, зависимостями окружения и пользовательскими настройками, так как они могут сильно различаться в зависимости от целей разработки и развертывания

## Что нужно

- [[nginx]]
- [[git]]
- [[gunicorn]]
- [[сокеты-unix]]
- [[пример-staging]]


[build-боевая-среда]: build-%D0%B1%D0%BE%D0%B5%D0%B2%D0%B0%D1%8F-%D1%81%D1%80%D0%B5%D0%B4%D0%B0 "build"
[fabric]: fabric "Fabric"
[puppet]: puppet "puppet"
[salt]: salt "salt"
[ansimble]: ansimble "ansible"
[vargant]: vargant "vargant"
[тестирование]: ../lists/%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5 "Основные принципы тестровния"
[приемочные-тесты]: %D0%BF%D1%80%D0%B8%D0%B5%D0%BC%D0%BE%D1%87%D0%BD%D1%8B%D0%B5-%D1%82%D0%B5%D1%81%D1%82%D1%8B "Приемочные тесты"
[nginx]: nginx "Nginx веб-сервер (wsgi)"
[git]: ../lists/git "Git"
[gunicorn]: gunicorn "Gunicorn"
[сокеты-unix]: %D1%81%D0%BE%D0%BA%D0%B5%D1%82%D1%8B-unix "Сокеты unix"
[пример-staging]: %D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80-staging "Пример промежуточного сервера"


[build-боевая-среда]: build-боевая-среда "build-боевая-среда"
[fabric]: fabric "Fabric"
[puppet]: puppet "Puppet"

[salt]: salt "salt"
[ansimble]: ansimble "ansimble"
[vargant]: vargant "vargant"

[тестирование]: ../lists/тестирование "Основные принципы тестровния"
[приемочные-тесты]: приемочные-тесты "Приемочные тесты"
[build-боевая-среда]: build-боевая-среда "build-боевая-среда"
[nginx]: nginx "Nginx веб-сервер (wsgi)"
[git]: ../lists/git "Git"
[gunicorn]: gunicorn "Gunicorn"
[сокеты-unix]: сокеты-unix "Сокеты unix"
[пример-staging]: пример-staging "Пример промежуточного сервера"