Google open-source le mécanisme de mise à jour Google Chrome comme l'Omaha.
Il semble assez compliqué et difficile à configurer pour quelqu'un qui n'est pas Google. Qu'est-ce que l'expérience à l'aide d'Omaha dans les projets? Peut-il recommander?
Google open-source le mécanisme de mise à jour Google Chrome comme l'Omaha.
Il semble assez compliqué et difficile à configurer pour quelqu'un qui n'est pas Google. Qu'est-ce que l'expérience à l'aide d'Omaha dans les projets? Peut-il recommander?
Nous utilisons Omaha pour nos produits. Initialement, il y avait un peu de travail pour changer codé en dur les Url et les chaînes de caractères. Aussi le serveur n'est pas open source, mais le protocole est bien documenté de sorte qu'il n'était pas difficile de créer un serveur compatible à l'aide de Google App Engine.
Il n'y a pas de regrets à l'amerrissage forcé notre ancien client de mise à jour de la solution et va à l'Omaha.
Peut-être, vous pouvez tirer parti de la courgette, de l'algorithme, qui est le mécanisme de mise à jour qui est utilisé dans Google Chrome. Il est vraiment facile à utiliser et à appliquer à votre infrastructure. Actuellement, il travaille juste pour les systèmes d'exploitation Windows. Windows les utilisateurs de Chrome recevoir des mises à jour en petits morceaux, à la différence des utilisateurs de Mac et Linux qui continue à recevoir les morceaux de la taille totale.
Vous pouvez trouver le code source ici dans le Chrome référentiel SVN. C'est un algorithme de compression à appliquer de petites mises à jour de Google Chrome au lieu de l'envoi de l'ensemble de la distribution de tous les temps. Plutôt que de pousser l'ensemble de 10 MO pour l'utilisateur, vous pouvez appuyez simplement sur la comparaison des changements.
Plus d'informations sur la façon de Courgette, les travaux peuvent être trouvés ici et le blog officiel de post à ce sujet ici.
Il fonctionne comme ceci:
server: hint = make_hint(original, update) guess = make_guess(original, hint) diff = bsdiff(concat(original, guess), update) transmit hint, diff client receive hint, diff guess = make_guess(original, hint) update = bspatch(concat(original, guess), diff)
Lorsque vous consultez la source, vous pouvez le compiler un exécutable (clic droit de la compilation dans Visual Studio) et vous pouvez utiliser l'application dans sa forme pour le test:
Utilisation:
courgette -dis <executable_file> <binary_assembly_file>
courgette -asm <binary_assembly_file> <executable_file>
courgette -disadj <executable_file> <reference> <binary_assembly_file>
courgette -gen <v1> <v2> <patch>
courgette -apply <v1> <patch> <v2>
Ou, vous pouvez l'inclure dans votre demande et faire les mises à jour à partir de là. Vous pouvez imiter le Omaha, la mise à jour automatique de l'environnement par la création de votre propre service de vente que vous vérifier périodiquement et à l'exécution de la Courgette.
Dans l' .NET monde, vous voudrez peut-être jeter un oeil à ClickOnce de déploiement.
Un mécanisme de mise à jour est quelque chose que j'avais personnellement le code moi-même, et toujours dans le passé. Sauf si vous avez un de plusieurs giga-octets d'application et souhaitez télécharger des morceaux seulement, comptez sur votre propre code/installateur. Cela dit, je n'ai pas regardé de Google bibliothèque open source à tous.. et ne savais même pas qu'elle existait. Je ne peux pas l'imaginer d'offrir quelque chose de supérieur à ce que vous pourriez le code vous-même, et avec votre propre code, vous n'êtes pas lié par les restrictions de licence.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.