10
votes

Création d'un installateur via la ligne de commande / via Jenkins "Executed Batch Commande"

Nous utilisons Jenkins pour CI.

J'ai un projet construit dans Windows, en utilisant CMAKE 2.8.4 et VS2010 (NMake Makefiles). Une fois que la construction est terminée, nous vous convertissons manuellement les artefacts pour donner aux gens. Je voudrais créer un package d'installation via Jenkins si possible, au lieu de devoir tout reproduire.

Est-ce que quelqu'un connaît-il d'un programme d'installation pouvant fonctionner complètement de ligne de commande, afin que je puisse mettre la commande dans la fenêtre Jenkins "Executiond Batch Command"? Quelqu'un a-t-il fait cela? Quel installateur-créateur utilisez-vous? Espérons que chercher quelque chose dans l'arène libre / open-source.


0 commentaires

5 Réponses :


2
votes

Nous exécutons InstallShield en tant que commande BATCH pour créer un programme d'installation Windows. Le processus de configuration pour l'emballage est entièrement piloté par l'interface graphique, mais vous pouvez créer le package d'installateur de la ligne de commande. InstallShield n'est pas gratuit cependant.

La configuration InstallShield est un fichier binaire, il est donc difficile de voir ce qui est changé de la construction à la construction.


Mise à jour : Dans notre implémentation (à l'aide d'InstallShield 2011), il y a un travail Jenkins avec deux paramètres, projectconfig et relaseConfig < / code>. Le travail Jenkins vérifie le projet InstallShield, y compris le projet .ism et exécute: xxx

Vous pouvez obtenir plus de détails sur les options de ligne de commande en exécutant iscmdbld -? ou dans la documentation InstallShield.


3 commentaires

Merci! Je vais regarder ça. Configuration sera manuelle dans tous les cas, puisque nous ne le déployons pas encore directement, de sorte que la construction est la ligne de commande, tout bon.


Nous avons une liste de processus pour créer manuellement une application sur InstallShield, comme click sur Démarrer-> Programmes-> InstallShield, sélectionnez Fichier-> Ouvrir Choisir un fichier. Sélectionnez Build Wizard, entrez le nom, cliquez sur le bouton Suivant, etc. Peut-on automatiser ce processus à l'aide de fichier de commandes et l'utiliser à Jenkins?


@DDK Oui, voyez ma mise à jour pour plus de détails. Vous aurez besoin d'un constructeur Jenkins sur la machine avec InstallShield, et les valeurs de ProjectConfig et Releaseconfig seront spécifiques à votre projet InstallShield.



9
votes

J'ai utilisé Setup Inno à travers Jenkins avec beaucoup de succès. C'est un installateur gratuit pour Windows. Les fichiers d'installation sont créés via des scripts et des arguments de ligne de commande peuvent être utilisés lors de l'exécution de ces scripts pour créer des fichiers d'installation. Les scripts de configuration Inno peuvent être ajoutés à votre référentiel de contrôle source pour suivre les modifications, tout en leur rendant accessible à Jenkins.


2 commentaires

Jenkins peut-il être installé sur un serveur Linux et exécuter Inno Setup?


@jalanga Pas sûr, jamais essayé, mais cela pourrait être possible tant que la configuration Inno est prise en charge dans un environnement Linux. Je ne suis pas sûr que ce soit cependant.



4
votes

Nous utilisons Système d'installation Scriptionnaire Nullsoft (NSIS) , et Jenkins appelle un fichier de commandes dans le référentiel construire notre installateur. Les fichiers binaires SNS sont également stockés dans le référentiel, il n'est pas nécessaire d'installer quoi que ce soit sur le serveur de construction. La configuration du SNS est un fichier texte, à la recherche de quelque chose comme ceci (à partir de NSIS Tutoriels simples ): xxx

Jusqu'à présent, cela fonctionne parfaitement. Le langage de configuration est un peu inhabituel, mais il n'est pas trop difficile de saisir et le résultat est stable et prévisible. Il existe de nombreux exemples et tutoriels dans l'installation et sur le site Web.


0 commentaires

4
votes

Nous avons utilisé Wix Toolset Pour créer un package d'installation Windows (MSI). Il est open source.

Tous les outils sont la ligne de commande et nous les avons appelés à partir d'un ant script. MSI peut être installé sans que l'utilisateur soit impliqué, qui pourrait être utilisé pour les tests.

Toolset Wix a également un plugin à Visual Studio - votive .

Il y a un Bon tutoriel sur la création d'installations à l'aide de Wix.


1 commentaires

Merci! L'outil d'outil pour VS est définitivement un avantage.



0
votes

Vous pouvez intégrer à la fois SETUP INNO SETUP et NSIS SYSTEM D'INSTALLATION AVEC JENKINS UTILISANT MSBUILD Plugin . .

Il y a visuel et installateur ( http: //www.visual-installer. Com ) Extension qui vous permet de créer un projet d'installation (compatible avec MsBuild) dans Visual Studio et compilez-la à partir de la ligne de commande (ou directement dans VS).

Tous les paramètres et arguments sont stockés dans des fichiers Visual Studio Solution / Project afin qu'il n'y ait pas besoin de les transmettre manuellement en lot.

Il est également pris en charge pour plusieurs plates-formes, cibles et configurations, tout peut être défini et vous pouvez basculer entre eux (le même travail que dans Visual Studio régulier).


0 commentaires