Je voudrais savoir s'il existe un moyen simple de pousser un référentiel GIT en production (sur un serveur FTP)? Merci
130
Quelques outils récemment ajoutés au wiki Git :
git-ftp de René Moser est un simple script shell permettant de faire du FTP à la manière Git. Utilisez git-ftp.sh pour télécharger uniquement les fichiers suivis Git sur un serveur FTP, qui ont changé depuis le dernier téléchargement. Cela économise du temps et de la bande passante. Même si vous jouez avec des branches différentes, git-ftp.sh sait quels fichiers sont différents. Aucun client FTP ordinaire ne peut faire cela.
git-ftp par Edward Z. Yang est un simple script écrit en python pour télécharger des fichiers dans un référentiel Git via FTP, ne transférant que de nouveaux fichiers et supprimant les anciens fichiers.
Si vous préférez l'interface graphique, utilisez SourceTree, vous pouvez facilement configurer une action personnalisée qui utilise git-ftp mentionné ci-dessus. Une brève description de la configuration (pour Mac) à Push a Git repository to an FTP
la source
J'ai trouvé PHPloy un excellent outil pour envoyer vos commits Git à des serveurs distants via FTP. Il fonctionne à partir de la ligne de commande et est écrit en PHP (et détecte même les changements dans les sous-modules).
https://github.com/banago/PHPloy
Terminé!
(Clause de non-responsabilité: après l'avoir utilisé pendant un certain temps, j'ai maintenant apporté des correctifs et des améliorations de code, le rendant compatible avec Windows.)
la source
Si vous êtes sur un mac et que vous avez Transmit, je vous recommande le script git-tranmit suivant ( https://gist.github.com/379750 ). Il utilise DockSend pour envoyer uniquement les derniers fichiers mis à jour. Si vous n'êtes pas familier avec DockSend, consultez http://www.panic.com/blog/2010/11/15-secrets-of-transmit/ .
Installer:
la source
Ce n'est pas à cela que sert git, à proprement parler. Cependant, si votre source est quelque chose qui n'a pas besoin de compilation ou de traitement, par exemple un site Web composé entièrement de fichiers html et javascript, etc., vous pouvez avoir un clone du dépôt sur votre serveur Web et l'utiliser à
git pull
partir du serveur pour le maintenir. -à ce jour. Remarque, je configurerais votre serveur Web pour masquer le répertoire git et autres. Et ce n'est que le début des problèmes de sécurité.Si vous avez une sorte de compilation ou de traitement, vous devriez commencer à regarder Ant , Maven , BuildR , SBT , etc.
la source
Vous pouvez utiliser Deployhq.com cela fonctionne comme un charme, la seule chose que vous devez faire est de configurer votre référentiel et votre compte FTP.
Ils ont actuellement les systèmes de contrôle de version suivants:
Git, Subversion, Mercurial.
Avec dépôt hébergé
la source
Il s'agit d'un script en PHP pour télécharger presque automatiquement le git-diff sur un serveur FTP:
http://code.google.com/p/upload-git-diff-with-ftp/
la source
https://www.deployhq.com/
Gratuit pour un projet et cela fonctionne très très bien.
la source
Il y a un script Ruby ici - Ruby git-deploy via FTP ou SSH qui télécharge uniquement les fichiers modifiés dans le référentiel git via FTP ou SSH.
Comme mentionné dans une autre réponse, voici le script Python git-ftp.py qui fait une chose similaire.
Et voici la version du script shell de git-ftp .
Il existe également un projet Ruby gem appelé git-deploy qui vous permet de configurer un déploiement personnalisé via une télécommande git à l'aide de la
git push
commande, de la même manière que les services Heroku et Azure. Pour celui-ci, vous devrez peut-être écrire des méthodes personnalisées à déployer via FTP et je pense que cela suppose que vous avez un accès SSH à votre serveur de production.la source
Si vous mettez du code en production, je vous recommande d'utiliser un "installateur" tel qu'un package RPM pour installer votre code. De cette façon, la version sera estampillée et vous pourrez utiliser le package d'installation pour prendre en charge les mises à jour du code de production. Git n'est pas vraiment conçu pour prendre en charge les installations de production, il est destiné à suivre les modifications du code lui-même.
Dans tous les cas, avec un .RPM (ou EXE ou autre) construit, vous pouvez simplement le transférer par FTP sur le système de production et l'installer comme n'importe quel autre package.
la source
Ajoutez-le en tant que télécommande, puis vous pouvez y pousser, mais il ne suffit pas de pousser du code, il doit être fusionné avec l'arbre de travail. Le moyen le plus simple est de faire l'inverse, d'avoir un arbre de travail sur le serveur et de le récupérer et de le fusionner.
la source
Vous pouvez toujours essayer de monter le ftp dans un répertoire local en utilisant http://linuxconfig.org/mount-remote-ftp-directory-host-locally-into-linux-filesystem .
Ensuite , vous pouvez l' utiliser de la même manière que cela .
la source
J'avais beaucoup de mal à comprendre cela. J'ai trouvé un moyen simple de faire cela à partir de diverses sources ( git-ftpINSTALL , git-ftpUPLOAD , git-ftpIssue , git-ftpPUSH ). Vous pouvez lire pour référence mais ce n'est pas nécessaire car j'ai mentionné le processus étape par étape ci-dessous.
Tout d'abord: installez git et curl en utilisant brew sur MAC OS
Exécutez les commandes suivantes:
Mise à jour avec git
Installer
Télécharger tous les fichiers
Ou si les fichiers sont déjà là
Travailler et déployer
S'il y a une erreur: pathspec 'index.txt' ne correspond à aucun fichier connu de git . Cela signifie que le fichier n'a pas encore été mis en scène, alors ajoutez le fichier, puis essayez de le valider.
J'espère que cela t'aides.
la source
Vous pouvez essayer FTPloy ...
https://ftploy.com
Vous avez un projet gratuit pour l'essayer. J'utilise actuellement pour un petit site Web php et cela fonctionne assez bien. Quelques bugs sur le site mais c'est un projet actif donc au moins ils y travaillent.
la source
Consultez https://gitftp-deploy.com/ si vous êtes sur MacOS et que vous aimez les interfaces graphiques.
C'est une jolie petite application qui utilise Git pour suivre les modifications et télécharger uniquement les fichiers modifiés avec FTP.
Particulièrement pratique si vous n'aimez pas payer des frais mensuels pour des dizaines de petits projets avec de petites équipes.
la source