Points clés
Cet article est parrainé par Microsoft Visual Studio App Center. Merci de soutenir les partenaires qui ont rendu le point de point possible.
Quelle est la partie la plus agréable du développement de logiciels? Écrivez un excellent code.
Quelle est la partie la plus gênante? Tout le reste.
Le développement de logiciels est un excellent travail. Vous pouvez résoudre des problèmes de nouvelles façons, satisfaire les utilisateurs et voir ce que vous construisez pour améliorer la vie des gens. Mais alors que nous passons beaucoup de temps à écrire du code, nous passons souvent beaucoup de temps à gérer les frais généraux - et c'est une perte de temps totale. Voici quelques-uns des plus grands goulots d'étranglement de la productivité et comment nous travaillons pour vous ramener cette fois.
Quelle est la première étape pour livrer votre application incroyable aux utilisateurs heureux? Laissez-le exister. Certaines personnes peuvent penser que la conversion de la source en binaire ne sera pas aussi douloureuse, mais ce n'est pas le cas. Selon le projet, vous devrez peut-être compiler plusieurs fois par jour sur différentes plates-formes, qui sont toutes le temps que vous pouvez utiliser pour écrire votre code. De plus, si vous créez des applications iOS, vous avez besoin d'un agent de construction Mac - ce n'est pas nécessairement votre principal outil de développement, en particulier lors de la création d'applications à l'aide d'un cadre multiplateforme.
La meilleure façon de reprendre cette fois est (ce ne sera pas la dernière fois que je l'ai dit) Automation . Vous devez automatiser la gestion de la configuration et du matériel afin que l'application soit construite automatiquement lorsqu'elle doit être construite.
La façon dont nous essayons de répondre à cette exigence est la version du centre d'applications Visual Studio, un service qui automatise toutes les étapes que vous ne souhaitez pas répéter manuellement, vous pouvez donc chaque fois que vous vérifiez le code ou le vôtre, Construisez lorsque l'équipe d'assurance qualité ou votre responsable de l'édition veut. Pointez simplement la construction sur un référentiel GitHub, BitBucket ou VSTS, sélectionnez une branche, configurez certains paramètres et vous pouvez créer des applications Android, UWP et même iOS et macOS dans le cloud sans gérer de matériel. Si vous devez effectuer des actions spéciales, vous pouvez ajouter des scripts post-clone, pré-construction et post-construction pour la personnalisation.
J'ai passé des années à tester des logiciels et dans ma carrière, il y avait toujours trois questions que je déteste toujours entendre:
"Avez-vous fini?"
"Pouvez-vous le reproduire?""Est-ce vraiment si mauvais?"
Dans le passé, il y avait peu de temps ou de ressources pour effectuer des tests approfondis et appropriés, mais le développement mobile a exacerbé ce problème. Nous livrons maintenant plus de code à plus d'appareils plus souvent. Nous ne pouvons pas perdre de temps à essayer de reproduire cette défaillance critique insaisissable, et nous n'avons pas le temps de nous demander si les erreurs sont mortelles. Dans le même temps, nous sommes les gardiens qui finissent par prendre en charge les défaillances de haute visibilité ou les produits de faible qualité, et en tant que membres de l'équipe, nous voulons résoudre les problèmes à l'avance pour améliorer la qualité, pas seulement la libération de blocs.Alors, quelle est la réponse? "Automation", bien sûr. Mais il doit être automatisé de manière significative. Si vous ne pouvez pas assembler les dossiers de fiche technique et de capture d'écran, ils n'ont aucun sens. Lorsque vous faites face à des délais et que vous devez convaincre les propriétaires de produits de prendre une décision, vous devez fournir des informations qu'ils peuvent comprendre tout en donnant aux développeurs les détails qu'ils doivent corriger.
Pour aider à résoudre ce problème, nous avons créé App Center Test, un service qui effectue des tests d'interface utilisateur automatisés sur des milliers d'appareils réels dans des centaines de configurations. Étant donné que les tests sont automatisés, vous pouvez exécuter exactement le même test à chaque fois, afin que vous puissiez identifier instantanément les performances et les biais de l'expérience utilisateur, ainsi que chaque version. Les tests génèrent des captures d'écran ou des vidéos avec des données de performance, afin que n'importe qui puisse repérer le problème et les développeurs peuvent cliquer immédiatement sur le journal détaillé et commencer la fixation. Vous pouvez vérifier le code en testant sur quelques appareils à chaque engagement, puis en exécutant des tests de régression sur des centaines d'appareils pour vérifier que tout fonctionne pour tous les utilisateurs.
Vous avez donc construit une application et elle fonctionne comme prévu. Très bien! Mais maintenant, l'itération a vraiment commencé. Vous voulez savoir ce que les gens en pensent avant de le pousser à l'utilisateur final. Mais comment le faire? Il est assez difficile de former un programme bêta, mais de s'assurer que tout le monde a la dernière version de l'application (s'il s'agit d'une application mobile, assurez-vous que vos utilisateurs peuvent même l'installer) est un travail à temps plein - c'est un travail que personne ne sur votre équipe veut.
Encore une fois, automatique . Lorsque vous êtes prêt à pousser les builds, vous devez automatiser le processus de notification et le processus de distribution des applications de et , et vous devez être en mesure de déclencher à la fois à chaque fois que vous construisez (ou chaque fois que le directeur de l'édition le dit).
Notre réponse est le service de distribution du centre d'applications. Si vous avez une liste d'adresses e-mail, vous avez tout ce dont vous avez besoin pour livrer la version aux testeurs internes ou bêta. Créez un groupe de distribution, téléchargez une build (ou build une version à partir du référentiel) et Distribuez le reste. Si vous pensez que cela ressemble à HockeyApp, vous avez raison. App Center Distribue est la prochaine génération de HockeyApp qui intègre l'automatisation de la distribution à nos autres services CI / CD. Après avoir terminé les tests bêta, la distribution peut également livrer votre application aux utilisateurs et se déployer sur Google Play, App Store d'Apple ou (pour les utilisateurs d'entreprise) Microsoft Intune.
Les gens parlent souvent du déploiement de pipelines, mais nous ne recherchons pas seulement une poussée à sens unique. Si vous pouvez comprendre ce qui se passe après la publication de votre application, vous pouvez donner ces commentaires aux développeurs et créer une boucle fermée pour améliorer votre produit plus rapidement. Ces informations prennent deux formulaires: analyser la façon dont les utilisateurs interagissent avec vos applications et, surtout, signalant comment et quand ces applications échouent. Commençons par le second, car le crash est le pire des cas. Lorsqu'une application échoue, vous voulez le savoir rapidement, mais vous devez également comprendre à quel point il est important. Crashing dans une fonctionnalité floue qui affecte tout le monde est généralement pire qu'un panneau de démarrage complet sur l'iPhone 4 uniquement. App Center Crashes Group Rapports de crash similaires et vous montre les plates-formes les plus affectées afin que vous puissiez prendre des décisions de classification éclairées. Lorsque vous êtes prêt à commencer à résoudre le problème, le crash sera entièrement symbolisé, vous avez donc les informations dont vous avez besoin pour commencer. Vous pouvez créer automatiquement des entrées dans le tracker d'erreur afin que les développeurs puissent commencer à résoudre les problèmes sans quitter le workflow. Encore une fois, plus d'automatisation signifie plus de temps pour écrire un meilleur code.
Pour l'analyse, vous voulez obtenir quelque chose d'utile de la boîte. App Center Analytics fournit des mesures au niveau des utilisateurs et de l'appareil que les propriétaires d'applications souhaitent voir en fonction de l'engagement; par exemple, qui utilise les appareils, la fréquence, l'emplacement et combien de temps ils restent. Mais votre application est différente des applications des autres, nous vous permettons donc de créer et de suivre les mesures personnalisées telles que "Itinéraire réservé" ou "livraison à domicile commandée". Si vous avez besoin d'une analyse plus approfondie, nous permettons une exportation continue vers les informations d'application Azure.
Vous pouvez théoriser la solution CI / CD parfaite toute la journée, mais si vous ne pouvez pas la mettre en pratique, tout est inutile. Il est important d'obtenir ce que vous pouvez utiliser maintenant, que cela signifie intégrer avec les systèmes existants dont vous aimez vraiment (ou ne pouvez pas vous débarrasser), ou simplement une partie de l'automatisation du processus manuel jusqu'à ce que vous puissiez terminer le reste. Même un petit pas est toujours meilleur tant que la direction est bonne.
Évidemment, je suis biaisé et je pense que vous devriez essayer l'ensemble de notre système, mais les besoins des développeurs varient. Si vous voulez ne prendre que certaines des fonctionnalités d'App Centre, nous l'avons construit pour le rendre complètement modulaire. Nous fournissons une API REST pour chaque service de centre d'applications, et nous avons une intégration prédéfinie avec des services comme VSTS. Cela devrait être comme ça parce que vous construisez votre application , vous devez donc la construire comme vous êtes. Nous serions ravis de vous laisser essayer Visual Studio App Center - il est tout nouveau aujourd'hui et peut être démarré gratuitement. Nous voulons entendre ce que vous pensez!
FAQ (FAQ) sur l'automatisation du CI / CD avec un centre d'applications visuelsQuel est le rôle du centre d'applications visuelles dans l'automatisation CI / CD?
Visual App Center prend en charge une variété de langages de programmation, notamment Java, Objective-C, Swift et .NET. Ce soutien étendu permet aux développeurs d'utiliser leur langue préférée lors de la création d'applications. De plus, Visual App Center fournit des outils de construction et des environnements spécifiques pour chaque langue prise en charge, garantissant des performances de construction et une compatibilité optimales.
Visual App Center fournit une prise en charge intégrée pour divers outils couramment utilisés dans le développement de logiciels. Il s'agit notamment des systèmes de contrôle de code source tels que GitHub, Bitbucket et Azure Repos. Pour intégrer, vous devez accéder aux paramètres de l'application dans Visual App Center et dans la section Services, sélectionnez le service souhaité. Suivez les invites pour terminer le processus d'intégration.
Visual App Center assure la qualité de l'application par le biais de tests automatisés. Il prend en charge les tests unitaires et les tests d'interface utilisateur qui peuvent fonctionner sur une variété d'appareils réels dans App Center Test Cloud. Ces tests aident à identifier et à résoudre les problèmes au début du cycle de développement, garantissant que des applications de haute qualité sont fournies.
Oui, Visual App Center fournit des capacités de surveillance complètes grâce à ses services analytiques et de diagnostic. Ces services fournissent des informations sur l'utilisation et les performances des applications, vous aidant à comprendre comment les utilisateurs interagissent avec votre application et identifient tous les problèmes qui peuvent affecter l'expérience utilisateur.
Visual App Center simplifie la distribution des applications en vous permettant de déployer des applications directement aux utilisateurs ou aux magasins d'applications. Vous pouvez créer des groupes de distribution, ajouter des testeurs et leur envoyer la dernière version de l'application. De plus, vous pouvez suivre l'état de la version, notamment qui a téléchargé et installé votre application.
Visual App Center fournit un niveau gratuit qui comprend l'accès à la plupart des services, y compris la construction, le test, la distribution et la surveillance. Cependant, certaines fonctionnalités, telles que les tests sur des appareils réels dans Test Cloud, peuvent encourir des coûts supplémentaires. Pour des informations détaillées sur les prix, vous pouvez vous référer à la page de tarification du centre d'applications visuelles.
Visual App Center attache une grande importance à la sécurité. Il utilise des mesures de sécurité standard, notamment le cryptage des données au repos et la transmission de données pour protéger vos données. En outre, il est conforme à diverses normes réglementaires, notamment le RGPD, l'ISO 27001 et le SOC 2, entre autres.
Oui, Visual App Center prend en charge les cadres de développement d'applications multiplateaux tels que Xamarin, React Native et Cordova. Cela vous permet de créer, tester et distribuer des applications pour iOS et Android à l'aide d'une seule base de code.
Pour commencer avec Visual App Center, vous devez créer un compte, ajouter votre application et configurer vos paramètres de génération, de test et de distribution. Vous pouvez ensuite commencer à pousser le code vers le référentiel et Visual App Center gérera le reste. Pour des instructions détaillées, vous pouvez vous référer à la documentation Visual App Center.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!