le déploiement continu avec jenkins
Je veux déployer avec jenkins, de l'environnement de test et à l'environnement de production. Pour ce faire j'ai besoin de vous connecter au serveur de l'voulait de l'environnement, quelque chose comme ssh/scp.
Je voudrais savoir quelle est la meilleure façon est.
J'ai trouvé quelques plugins pour ce faire, comme le Jenkins-Déployer-Plug-in ou Jenkins, la publication de plus de SSH Plugin. Le premier a beaucoup de problèmes, ce qui n'est pas vraiment digne de confiance pour déployer à la production et pour la seconde, vous devez modifier la configuration globale, qui est travail manuel pour tous les déployer.
Toute idée comment résoudre ce problème? Peut-être avec certains scripts ou des plugins?
La seule idée que j'ai est: pour se connecter avec jenkins à un serveur (peut-être avec le SSH Plugin) et à exécuter il y a un script qui se connecte à la granulométrie de l'environnement. Mais qui sont les deux connexions. Est-ce vraiment nécessaire? J'espère de façon plus simple pour cela.
merci pour toute indication.
- Un peu en retard ici mais, c'est vraiment ce que ARA outils sont destinés. Intégrer Jenkins avec quelque chose comme BuildMaster ou XLDeploy et alors que l'outil ne le déploiement en production.
Vous devez vous connecter pour publier un commentaire.
Je vous propose la procédure suivante:
un simple script shell (stockées quelque part sur le serveur jenkins) s'occupe de tout.
En gros, le script ne scp de la construction de l'artefact et se connecte ensuite au serveur (ssh) et s'occupe de toutes les tâches nécessaires pour le déploiement (installation page de maintenance, de sauvegarde de l'app en cours, de déployer la nouvelle application, ...).
Sur le serveur jenkins, il y a au moins 2 emplois:
(Je suggère un travail de déploiement pour chaque cible de l'environnement : essai, de production, ...)
Il ne nécessite pas de "spécial" jenkins plugin pour atteindre ce "cliquez sur le déploiement".
Il exige seulement que le jenkins utilisateur a un accès ssh au serveur cible.
MODIFIER
Voici un exemple de script shell pour illustrer mon post
À l'aide de SSH compromet la sécurité de votre environnement
et est très difficile à résoudre.
Il est préférable d'installer un Jenkins-Esclave sur la machine distante
et exécuter les tests par l'exécution d'un Travail sur l'Esclave.
L'Esclave est contrôlé par le Serveur, ce qui vous permet d'économiser beaucoup d'ennuis
la gestion de la connexion.
Vous pouvez déclencher la télécommande du Poste à la fin d'une construction réussie
et la passer à l'artefact de ce produit.
(peut aussi avoir le premier Emploi de stocker les objets sur un lecteur partagé
et de passer à l'emplacement de ces artefacts pour le prochain Travail).
Voir ici:
Idéalement, vous devriez être en utilisant quelque chose comme Tissu ou Capistrano pour les déploiements, et appeler les scripts de Jenkins. J'ai utilisé Capistrano pour largement Ruby on Rails et Non des applications Ruby trop. Le plus grand avantage que je vois sont: