В панели реализована работа со скриптами на основе популярного и удобного инструмента Ansible.
Ниже описано, как добавить собственные скрипты в панель, и приведены примеры конфигурационных файлов.
Если необходимо добавить скрипты, недоступные в Ansible:
/usr/local/mgr5/etc/ispmgr.conf
) добавьте строку с параметром WebscriptsRepoUrl и URL до репозитория webscripts./usr/local/mgr5/sbin/mgrctl -m ispmgr exit
), после чего на форме Web-скрипты (в разделе Настройки) отобразятся скрипты указанные в webscripts.xml.Пример webscripts.xml:
<doc>
<webscript type="ansible" name="Bitrix">
<settings>
<filename>bitrix.tgz</filename>
<playbook>playbook.yml</playbook>
</settings>
<mgr>
<minimal_version>6.0.0</minimal_version>
</mgr>
<required>
<php version="7.2" max_version="7.4">
<extensions>
<extension name="gd"/>
<extension name="exif"/>
</extensions>
<modes>
<mode name="php_mode_cgi"/>
</modes>
</php>
<database type="mysql" version="5.6"/>
</required>
</webscript>
</doc>
Пример Ansible playbook.yml:
- hosts: 127.0.0.1
tasks:
- name: Create a install directory if it does not exist
file:
path: "{{ install_path }}"
state: directory
owner: "{{ user_name }}"
group: "{{ user_name }}"
mode: "0755"
recurse: yes
- name: Download bitrix
get_url:
url: "http://www.1c-bitrix.ru/download/standard_encode.tar.gz"
dest: "{{ install_path }}/standard_encode.tar.gz"
mode: "644"
timeout: 1800
owner: "{{ user_name }}"
group: "{{ user_name }}"
- name: Unpack bitrix archive
unarchive:
src: "{{ install_path }}/standard_encode.tar.gz"
dest: "{{ install_path }}"
remote_src: yes
owner: "{{ user_name }}"
group: "{{ user_name }}"
- name: Set the permissions on Bitrix directories
command: find {{ install_path }} -type d -exec chmod 755 {} \;
- name: Set the permissions for Bitrix files
command: find {{ install_path }} -type f -exec chmod 644 {} \;
- name: Create a directory if it does not exist
file:
path: "{{ install_path }}/bitrix/php_interface"
state: directory
owner: "{{ user_name }}"
group: "{{ user_name }}"
mode: "0755"
- name: copy dbconn.php
template:
src: templates/dbconn.php.j2
dest: "{{ install_path }}/bitrix/php_interface/dbconn.php"
owner: "{{ user_name }}"
group: "{{ user_name }}"
mode: 0644
- name: copy .settings.php
template:
src: templates/.settings.php.j2
dest: "{{ install_path }}/bitrix/.settings.php"
owner: "{{ user_name }}"
group: "{{ user_name }}"
mode: 0644
- name: copy after_connect_d7.php
template:
src: templates/after_connect_d7.php.j2
dest: "{{ install_path }}/bitrix/php_interface/after_connect_d7.php"
owner: "{{ user_name }}"
group: "{{ user_name }}"
mode: 0644
- name: copy after_connect.php
template:
src: templates/after_connect.php.j2
dest: "{{ install_path }}/bitrix/php_interface/after_connect.php"
owner: "{{ user_name }}"
group: "{{ user_name }}"
mode: 0644
- name: Delete archive
file:
path: "{{ install_path }}/standard_encode.tar.gz"
state: absent
Список параметров, передаваемых в скрипт: