Ответ
Да, занимался автоматизацией развертывания и управления конфигурациями Jira в рамках CI/CD-практик. Основная цель — обеспечить воспроизводимость, контроль версий и быстрое восстановление настроек.
Подход "Инфраструктура как код" (IaC):
- Terraform + AWS/VMware: Автоматизировал выделение виртуальных машин или EC2-инстансов под Jira, настройку сетей, балансировщиков нагрузки и хранилищ.
- Ansible/Puppet: Использовал для базовой настройки ОС (оптимизация Linux, настройка Java), установки Jira из официальных пакетов и применения конфигурационных файлов (например,
dbconfig.xml,server.xml).
Пример задачи Ansible для настройки подключения к БД:
- name: Configure Jira database connection
template:
src: templates/dbconfig.xml.j2
dest: /var/atlassian/application-data/jira/dbconfig.xml
owner: jira
group: jira
vars:
db_url: jdbc:postgresql://{{ db_host }}:5432/jira
db_user: jira_user
notify: restart jira
Автоматизация через REST API и скрипты:
- Python-скрипты с библиотекой
jira: Автоматизировал создание проектов, настройку схем workflow, permission schemes и добавление пользователей. - Bash-скрипты для бэкапа и восстановления: Реализовывал регулярный экспорт конфигураций (проекты, рабочие процессы, настройки) через CLI-инструменты Atlassian для Disaster Recovery.
Интеграция в CI/CD: Конфигурационные скрипты и Ansible-роли хранились в Git. Изменения проходили код-ревью, а их применение на тестовом стенде Jira запускалось через пайплайн в Jenkins или GitLab CI перед выкаткой в прод. Это позволяло безопасно тестировать изменения в настройках.