# Deployment of new releases

#### Process to deploy a new release manually:
* 1.**Create the json files using one of the following options:**  
  - 1.1. **yaml templates** - this option needs to use yaml2json converter to generate json file  
  - 1.2. **json templates** - use the json SW/templates/distribution.template.json or product.template.json 

* 2. **Prepare distribution and product**
  - **a)** If it's a product from a **new distribution** we need to add the distribution first:
	* ***add-new-distribution*** using the templates in SW/templates/distribution.template.json  
      - Install/Copy the template into json_dir/distributions/distribution-name-version.json
     - <!--#comment: Copy the template to SW/distros/distributionname-version.json-->
    * ***add new product*** to the distribution file json_dir/distributions/distribution-name-version.json products array  
    (example of a json product item to add to the products array) <pre>``` 
	{ "name" : "emi.apel", "display" : "APEL publisher",  
	"version" : "3.2.7", "apicallback" : "/static/SW/APEL publisher3.2.7.json",  
	"target" :  
	[  
	{  
	"platform" : "sl5",  
	"arch" : "x86_64",  
	"repositoryURL" : "sw/production/umd/1/sl5/x86_64/base"  
	}  
	]  
	}```
</pre>
  - **b)** If it's a **product from an existing distribution** we need to:
    * ***add "productname.json" full data || "name"=name+version + capabilities=[] to the distribution file*** 
      - json_dir/distributions/distribution-name-version.json
    * ***add product to the catalog*** 
      - json_dir/software-catalog.json
    * ***Finally add product.json to the respective directory and create the release.json manually***
      - json_dir/products/distribution-name/distribution-version/
      - and add the same product file to the root of the json_dir/ with the name release.json