1. A computer-implemented method to deploy a software application on a cloud computing platform providing a platform product, the method comprising: analyzing application artifacts for the software application to create application metadata describing application artifacts requirements; publishing the application artifacts and the application metadata onto an application repository; creating a product description defining an application product for the software application to be deployed on the cloud computing platform; creating a product reference to specify the platform product, wherein the platform product satisfies the application artifacts requirements; publishing the product description and the product reference onto the application repository to update the application metadata with reference to the application product and the platform product; creating a composite repository in the application repository, the composite repository comprising composite metadata to refer to the application repository and the platform product; and transferring the application repository to a platform repository provided by the cloud computing platform.