J'ai le problème suivant où:
Comment gérer des actifs pour différentes saveurs du produit
- Je arômes de produits multiples Dans mon projet Android. {Say, Dev and Production}
- J'ai un CI en place, Jenkins pour construire mes projets et rendre les versions à différentes équipes.
- J'ai un fichier d'actif qui est spécifique à la saveur, mais qui dépend des données qui existent sur un serveur. Exemple un json pour une liste de sociétés.
- Cette liste est différente sur Dev vs Production.
- Puisqu'il s'agit d'un énorme json, nous l'incluons dans notre dossier d'actifs. Le téléchargement de ce json à l'exécution ne permettra pas à l'utilisateur d'utiliser l'application rapidement au moins la première fois.
- Actuellement, au moment de la compilation dans Jenkins, nous wget/télécharger ce json et les écrire dans notre dossier des actifs. Pour obtenir les derniers actifs pour l'environnement/la saveur du produit au moment de la compilation.
- Ce wget est écrit comme une commande shell dans mon Jenkins. Après un succès wget nous courons le
gradle assembleDev
, répétez l'étape 6, puisgradle assembleProduction
Maintenant, le problème réside dans le fait que je ne suis pas à l'aise avec cette wget à Jenkins pour 2 raisons.
1) L'actif spécifique à l'environnement/json n'est pas disponible sur les machines de développement pour leurs tests locaux, ils doivent donc être constamment informés.
2) Le code dans Jenkins n'est évidemment pas présent dans mon VCS/Git. Ce que je ne suis pas à l'aise avec.
Quelles pourraient être les solutions possibles?
PS: - Pour mettre les choses en perspective, j'ai 22 Saveurs de produits et 8 jsons tels.
Votre programme Java fait-il partie de votre projet Android ou est-il exécuté séparément? Pouvez-vous partager du code? – Ichthyocentaurs