---
# System prepended metadata

title: CI / CD

---

# CI / CD 


## Coordination

- Map of responsabilities



## PILOT Project ANDROID ZARA    

- Lead: @Arturo 
- How to manage the project --> USE GITHUB PROJECT TO MANAGE THE PROCESS. @arturo
    - https://github.com/inditex/github-runners/projects/1


* Clear definition: 
    * CI tools integration 
    * QA tools integration 
    * Solve issues:
        * Connect with Sonar 
        * Connect Xray 
        * Connect with JIRA 
        * 


* Obietivos: 
    * FUll CI / CD PROCESS
    * Contributing process documentation  @carlos dabaraca
    * Identify weak points @all 
    * Unify the release process 
    * Unify the contributing process
    
 





## Process management

### List 

* Templates 



### Ownership  

* Dev Product Team 
    *
* Arch Team
    * provide Tools and Process 
* DevOps Team
    * 
        
## Conclusiones del pre-proyecto


- Herramienta debe de ser agnostica en el campo ecommerce



### 

- informar todas los equipos posiblemente involucrado
    - QA:
        - Cadenas -> Rosa María Gómez Flores
        - Zara.com -> José Yañez
        - QA lead -> Jose De La Fuente
    - Dev:
        - Cadenas -> Enrique Vila


### Casos de uso

#### Actions Catalog

- Build
- CI: Build on pull request 
- Distribute internally: Functional verification
- Distribute virtual device: appetize
- Distribute to testFlight
- Distribute to Stores
- Distribute to Artifactory
- QA static code analysis
- QA UI test on request
- QA Unit test

#### Combination

- caso 0 : Build 
- caso 1 : Build on pull request
- caso 2 : Build + Publish
- caso 3 : Build + Publish + code analysis 
- caso 4 : Build + Publish + code analysis + Unit test
- caso 5 : Build + Publish + code analysis + Unit test + UI test

##### Goal Framework

- Reduce Learning curve
- Reduce Adoption curve
- Reduce Burocratic Process
- Reduce infrastructure related problems

## Tooling (Microsoft input)

- Zara Mobile pipelines explanation (by Arturo)
- Tools comparison, PROS - CONS (by Arturo)
- Consulting support included in Inditex contract (for specific issues on specific tools). 
- Github.com
    - self-hosted runners (OnPremise) - difficult to maintain
    - runners (OnCloud) - slower and expensive
- AzureDevOps
    - same cost for both Android and iOS (34€/job - David Hernández)
    - more complex workflows
- AppCenter
    - old HokeyApps mature product with intention to bring existing users
    - located in Microsoft DevOps strategy but no integration with Github planned in the roadmap
    - Suitable for UI tests (Android and iOS)
- Best to break pipelines and execute tasks in the best tool
- Avoid Frankenstein pipelines. One pipeline that controls what agents to use for each task (Linux, Microsoft, Mac)
- Historically mobile apps are built more often in AppCenter or AzureDevOps, depending on how complex might be the workflow.
- Proceed with PoC ADO - EC Cadenas Stradivarious iOS/Android
- Github and ADO combination. Management happens in Github. ADO is just a tool for pipelines.



