Вопрос или проблема
У клиента есть подписка на Azure DevOps, и они хотят использовать ее для автоматизированной сборки и развертывания с их приложением Salesforce. Предыдущая команда разработчиков использовала только Azure Repos в качестве своего репозитория кода, а клиент использовал Boards для отслеживания тикетов. Я полагаю, что предыдущая команда использовала Salesforce DX/CLI для развертывания с использованием VS Code, поэтому пайплайны не существуют, и их нужно будет создать с нуля.
Я наткнулся на несколько статей (не очень много) с инструкциями по настройке пайплайнов сборки и развертывания в Azure DevOps, но меня беспокоит вопрос, возможно ли это только с Scratch Org или Sandbox окружениями? У меня нет опыта работы с Salesforce и ограниченный опыт в создании пайплайнов сборки и развертывания.
Любая помощь будет appreciated!
Чтобы создать CI/CD пайплайн для Salesforce с использованием Azure DevOps, выполните следующие шаги:
-
Настройка репозиториев: Создайте Git-репозиторий в Azure DevOps для хранения вашего кода Salesforce.
-
Настройка пайплайна сборки:
- Перейдите в раздел Pipelines > Builds > New Pipeline.
- Выберите ваш репозиторий и выберите подходящую YAML конфигурацию или используйте классический редактор.
- Используйте команды Salesforce CLI (например,
sfdx force:source:convert
), чтобы конвертировать ваш исходный код и запускать тесты.
-
Добавить переменные окружения: Храните учетные данные Salesforce в пайплайнах Azure DevOps в качестве секретных переменных.
-
Настройка пайплайна развертывания:
- Перейдите в раздел Pipelines > Releases > New Pipeline.
- Создайте этапы для разных окружений (например, Dev, QA, Prod).
- Используйте задачи для развертывания кода с помощью команд Salesforce CLI (например,
sfdx force:source:deploy
).
-
Запуск пайплайна: Установите триггеры для автоматической сборки и развертывания на основе политик веток или запросов на слияние.
-
Мониторинг и управление: Используйте панели мониторинга и журналы Azure DevOps для отслеживания состояния пайплайна и устранения неполадок при необходимости.
Следуя этим шагам, вы сможете эффективно управлять инсайтами Salesforce с использованием Azure DevOps.
Ответ или решение
Создание CI/CD пайплайна Salesforce с использованием Azure DevOps
Для эффективного управления развертыванием и автоматизированными сборками приложения Salesforce в Azure DevOps, необходимо выполнить несколько шагов, которые обеспечат корректную интеграцию и использование всех доступных инструментов. Шаги будут разбиты на несколько ключевых этапов: настройка репозиториев, конфигурация пайплайнов сборки и релиза, управление переменными среды и автоматизация триггеров.
1. Настройка репозиториев
Первым шагом в процессе создания CI/CD пайплайна является создание Git-репозитория в Azure DevOps. Этот репозиторий будет служить местом хранения кода Salesforce:
- Перейдите в Azure DevOps и создайте новый проект, если он еще не был создан.
- В разделе "Repos" создайте новый Git-репозиторий. Убедитесь, что структура папок в репозитории соответствует стандартам Salesforce DX.
2. Конфигурация пайплайна сборки
Следующий шаг заключается в создании пайплайна сборки, который будет автоматически собирать и проверять код. Используйте следующие инструкции:
- Перейдите в раздел Pipelines > Builds и нажмите New Pipeline.
- Выберите созданный вами репозиторий и выберите подходящий шаблон YAML или используйте классический редактор.
- В файле конфигурации YAML добавьте задания для выполнения команд Salesforce CLI. Пример команды для конвертации исходного кода:
- script: sfdx force:source:convert -d mdapi-output
displayName: 'Конвертация исходного кода'
- Также добавьте команды для запуска тестов, чтобы убедиться, что код работает корректно:
- script: sfdx force:apex:test:run --resultformat=runresults --outputdir=test-results --wait=10
displayName: 'Запуск тестов Apex'
3. Добавление переменных среды
Рост безопасности процесса развертывания можно обеспечить, добавив переменные среды:
- В настройках пайплайна добавьте переменные для хранения учетных данных Salesforce (например,
SF_USERNAME
,SF_PASSWORD
,SF_CLIENT_ID
). Убедитесь, что они отмечены как секретные для безопасности.
4. Настройка пайплайна релиза
Следующий шаг — создание пайплайна релиза, который будет использоваться для развертывания кода на различных окружениях (разработка, тестирование, продакшн):
- Перейдите в Pipelines > Releases и создайте новый пайплайн.
- Создайте этапы для каждого окружения (например, Dev, QA, Prod).
- В каждом этапе добавьте задачи для развертывания кода с помощью команд Salesforce CLI:
- script: sfdx force:source:deploy -p mdapi-output -u $(SF_USERNAME) -w 10
displayName: 'Развертывание на окружение'
5. Активация триггеров
Для достижения максимальной автоматизации настройте триггеры, чтобы сборка и релиз происходили автоматически:
- Перейдите в настройки вашего пайплайна сборки и добавьте триггер на основе политик веток или pull-запросов.
- Это позволит автоматически инициировать сборку при каждом коммите или создании запроса на слияние.
6. Мониторинг и управление
После настройки пайплайнов важно наладить мониторинг и управление:
- Используйте панели мониторинга Azure DevOps для отслеживания статуса пайплайнов.
- Ознакомьтесь с логами выполнения для решения возможных проблем и оптимизации процесса.
Заключение
Следуя указанным шагам, вы сможете эффективно настроить CI/CD пайплайн для Salesforce в Azure DevOps. Это обеспечит автоматизированные сборки, тестирование и развертывание в различных окружениях, что значительно повысит производительность и надежность вашего процесса разработки. Интеграция с Azure DevOps также предоставляет вам возможности для лучшего управления задачами и отслеживания прогресса в разработке.