Skip to content

Предложение — добавить «профили» #12

@HMRDevil

Description

@HMRDevil

Предложение — добавить «профили».
Пример команды:

project init --dir --domain --profile

Команда создаёт папку проекта, внутри создаётся подпапка .osp и файл project.ini.

Параметры:

  • --dir — директория проекта, обязательный параметр.
    Если переменная projects_search_path не содержит путь к папке проекта, то путь добавляется в эту переменную.
    Пример:
    --dir = path_to_project_directory\my_project
    Если path_to_project_directory отсутствует в projects_search_path, он автоматически добавляется.

  • --domain — доменное имя для project.ini. Необязательный параметр.
    Если не указано, доменное имя формируется автоматически на основе имени папки и добавления .local.
    Пример:
    my_project.local

  • --profile — предопределённые профили для проектов с определёнными модулями.

Пример профиля:

default_profile.ini
nginx_engine=NGINX157
node_engine=20.20.1
php_engine=8.1
ssl=on

Обновление

Опишу подробнее: профили — это отдельные подготовленные сущности программы.

Пример профиля:

example_name_wordpress.ini
php_engine = PHP-8.1
node_engine = 20.20.1
ssl = on

При использовании команды вывода, мы получаем директорию проекта по указанному пути с уже вложенной папкой .osp и сгенерированным файлом project.ini.

Пример команды:

project init C:\domains\my_project my_domain.local example_name_wordpress

Результат:
Папка домена my_project с подпапкой .osp и сгенерированным project.ini:

[my_domain.local]
php_engine = PHP-8.1
node_engine = 20.20.1
ssl = on

В идеале, после этого указанные модули для домена активируются автоматически.


Это почти то, что нужно, чтобы можно было указывать последующие команды прямо в профиле.
Пример профиля с командами:

example_name_wordpress.ini
php_engine = PHP-8.1
node_engine = 20.20.1
ssl = on

[commands]
RU unzip wordpress.zip

И после создания домена, активации модулей, архив автоматически распаковывается в папку проекта.

Мини-деплой.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions