You can upload your app for SharePoint to either the public SharePoint app store or to an organization's private app catalog. A private app catalog is a dedicated site collection in a SharePoint 2013 web application (or a SharePoint Online tenancy) that hosts document libraries for apps for SharePoint and apps for Office. Putting the catalog into its own site collection makes it easier for the web application administrator or tenant administrator to limit permissions to the catalog.
If the app is uploaded to the public app store, Microsoft runs some validation checks on it. For example, it checks whether the app manifest markup is valid and complete and verifies that any SharePoint solution packages (.wsp files) that are included do not include disallowed elements or Features with a scope broader than Web. The content of the package is also inspected for objectionable content. If the app passes all tests, the app package is wrapped into a file and signed by Microsoft. For more information about the validation process, see the SharePoint developer center.
Uploading an app for SharePoint to an organization's app catalog is as easy as uploading any file to a SharePoint Foundation document library. You fill out a pop-up form in which you supply the local URL of the app package and other information, such as the name of the app. When the app is uploaded to an organization's app catalog, similar checks take place and apps that do not pass are marked as invalid or disabled in the catalog.
1. Before you begin, you must have your custom app developed available as .app files with the codes put together in a single folder. Also your SharePoint online must have an app catalog site for which you should be office 365 Global administrator.
2. Open SharePoint admin center for Office 365 and click on apps in the navigation bar and open the office 365 app catalog.
3. Click on distribute apps for SharePoint to deploy your custom developed apps. You can manage any app request from users for existing apps here or also deploy office apps from here.
4. Click on new to add the custom add to the existing catalog and browse to your location where the .app files are stored locally.
5. Once deployed, please provide permission to at least one user who can use this app by clicking on Share with menu.
Your app is now deployed and ready to be consumed.
Further reference of building and deploying apps can be found at https://msdn.microsoft.com/en-us/library/office/jj163230(v=office.15).aspx