В этой статье мы подробно пройдёмся по всем вариантом деплоя метаданных на вашу организацию.
1. Вступление
2. Подготовительные моменты
3. Способы и инструменты деплоя
4. Change set
5. Ant migration tool
6. Workbench
7. Force.com IDE
Вступление
В первую очередь что бы понимать откуда и куда происходит деплой изменений, рекомендую перед началом ознакомиться со статьёй: Виды организаций в Force.com. После прочтения вы будете понимать какие есть организации и какие между ними существуют отношения. Что в дальнейшем вам ещё ни раз понадобится.
Подготовительные моменты
Перед тем как заносить новые изменения на production, убедитесь что ваш Apex code покрыт тестами как минимум на 75% и 100% из них должны проходить.
Способы и инструменты деплоя
Существует несколько инструментов для деплоя метаданных на организацию.
- Change set
- Ant migration tool
- Workbench
- Force.com IDE
Change set
Что такое Change set ?
Change set это инструмент для деплоя позволяющий разработчику или администратору загрузить и применить изменения c Sandbox на Production. Так же вы можете переносить изменения с одного sandbox на другой.
Необходимо понимать 3 основных момента про Change Set:
1. Outbound Change set:
Outbound change set это набор изменений которые вы сделали на Sandbox, такие, как Object, Custom Fields, Validation, Workflow, Classes, Trigger и т.д. При деплое кастомных объектов не забудьте добавить поля, потому что они по умолчанию не добавляются вместе с объектом. Пошаговое руководство для создания Outbound change set : Создание Outbound change set
2. Deployment connection:
Соединение необходимое для обмена Change Set между организациями. После создания Sandbox, на Production может быть настроен connect с этим Sandbox. Пошаговое руководство для настройки соединения: Настройка соединения между организациями(Deployment Connections)
3. Inbound Change set:
Inbound Change set создаётся автоматически после того как вы отправили Outbound Change set. Все входящие change set будут находить в разделе Inbound Change set. Пошаговое руководство по применению Inbound Change set : Применение Inbound Change set
Ant migration tool
Что такое Ant migration tool?
Ant migration tool - это утилита основанная на Java/Ant, работа с которой осуществляется через командную строку. Используется для перемещения метадаты между локальными папками и Salesforce организациями. Работать ant может с любым типом метаданных(Class, Validation rule, sObjects и т.п)
Что нужно для работы с Ant?
- Установить ant и создать переменную среды
- Установить java и создать переменную среды
- Скачать и добавить jre файл в ant.
Все эти шаги подробно описаны в статье: Настройка ant migration tool.
Первые шаги при работе с Ant
В целом работа с Ant заключается во взаимодействии с тремя файлами в папке вашего проекта:
-
build.properties - содержит данные для доступа к организации(credentials) и url по которому будет осуществляться подключение.
-
build.xml - содержит описание команд которые можно выполнить с помощью ant.
-
package.xml - содержит имена метаданных с которыми вы работаете.
Перед тем как перейти к практической части, давайте определим с чем, откуда, куда и как ant отправляет, получает, удаляет данные. Ant в отличие от Change Set может не только отправлять данные на организацию, но так же и получать и удалять их. Для того что бы делать CRUD операции с метаданными на организации не требуется соединение(connection). Для аутентификации на sf организацию можно использовать 1 из 3 способов:
-
username и password, и в случае если на организации используется security token то его нужно дописать сразу после пароля без отступа. В этой статье вы сможете найти как получить Security Token.
-
session id от активной Salesforce сессии.
-
OAuth access token используется в поле session id
Представьте что у вас есть Sandbox и Production. После того как вы создали Apex класс на вашем Sandbox, вам нужно получить эти данные в своё локальное хранилище, которые буду храниться в указанном вами месте в виде 3 файлов с типом .cls и .xml и package.xml. После этого вы можете отправить этот класс(полученные файлы) на production. Все настройки получения и отправки метаданных хранятся в файлах: build.xml, build.properties и package.xml. В остальном это зависит от того какие из доступных действий вы укажите в них.
Настройка проекта и примеры работы показаны в этой статье: Настройка проекта и первые шаги с Ant
Workbench
Что такое Workbench?
Workbench - это инструмент разработанный для администраторов и разработчиков, для работы с Salesforce org. Salesforce workbench предоставляет поддержку Force.com Partner, Bulk, Rest, Streaming, Metadata, и Apex APIs которые позволяют пользователю делать запросы, работать с данными, изменять метаданные.
Workbench Login URL:- https://workbench.developerforce.com/login.php
Для работы с Workbench вам нужно иметь credentials от организации. Функционал Workbench позволяет сделать многое, но мы рассмотрим только то что касается deploy. Отличие от ant migration tool и change set в том что он принимает zip файл, который должен содержать:
-
package.xml - файл в котором указываются компоненты для деплоя.
-
описание файла предназначенного для деплоя. Например: если это Apex class, то вам нужно иметь файл .cls и .xml файл с описанием метаданных.
Статья, где описывается deploy Apex класса: Deploy с помощью Workbench
Force.com IDE
Что такое Force.com IDE?
Force.com IDE - это плагин, который устанавливается в Eclipse для работы с salesforce, установка плагина описана здесь.
Этот плагин удобен при разработке и деплое тем что вам не приходиться задействовать другие сервисы. Весь процесс деплоя можно провести сразу в IDE.
Для этого вам нужны: Login, Password и Security Token.
Статья, где пошагово показан способ деплоя с помощью Force.com IDE : Деплой с помощью Force.com IDE