Skip to content

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

Open

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

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

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

Activity

  1. delphinpro commented on May 23, 2024

    @delphinpro

    The default settings for the project are already defined in program.ini.
    It is unclear why it is proposed to use default_profile.ini?

  2. HMRDevil commented on May 23, 2024

    @HMRDevil
    Author

    @delphinpro Updated it. I painted it in more detail

  3. changed the title [-]Add Profiles[/-] [+]Предложение — добавить «профили»[/+] on Apr 5, 2025
  4. Repository owner deleted a comment from MuhammadIbrahimli on Jul 14, 2025
  5. shubhamos-ai commented on Aug 29, 2025

    @shubhamos-ai

    Thanks for documenting this clearly! I have experience with this type of implementation and would be happy to assist with the development.

  6. tolik8 commented on Sep 17, 2026

    @tolik8

    File make-osp.cmd

    @echo off
    
    if exist ".osp\" (
        echo WARNING: .osp directory already exists!
        exit /b 1
    )
    
    for %%I in ("%CD%") do set "CURRENT_NAME=%%~nxI"
    
    mkdir public
    mkdir .osp && cd .osp
    
    echo [%CURRENT_NAME%]>project.ini
    echo.>>project.ini
    echo project_enabled = on>>project.ini
    echo web_root        = {base_dir}\public>>project.ini
    
    cd ..
    
    echo .osp and project.ini created!
    echo Please Restart OpenServer!
    
    @echo on
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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