Deploy Apex Using Metadata API
Use Metadata API to deploy customization information, such as custom object definitions
for your org.
To deploy custom metadata, use the Metadata.Operations.enqueueDeployment() method to asynchronously deploy metadata to the current org. For more information, see Operations Class.