2009-11-11 8 views
0

Je travaille en tant que développeur web indépendant, et jusqu'à présent, je transférais manuellement mes scripts/bases de données/fichiers statiques sur mon serveur Web, mais je constate que c'est trop sujet à l'erreur. Je cherche donc une application pour automatiser le téléchargement de scripts/fichiers/bases de données/etc. nouveaux et mis à jour. Je connais beaucoup de développeurs indépendants qui utilisent WinSCP ou Unison, mais je ne pense pas que ces applications puissent synchroniser les bases de données.Synchronisation de scripts/db/fichiers du système de développement au serveur Web

Quelqu'un a-t-il d'autres suggestions? Il n'a pas besoin d'être trop riche en fonctionnalités car je ne travaille pas dans une équipe ou sur plusieurs systèmes d'exploitation ou quelque chose comme ça. Je peux acheter toute licence à un prix raisonnable si nécessaire. Mon travail est principalement pour PHP/MySQL/Apache sur un système Windows, puis téléchargé sur un serveur Linux/Apache.

merci pour votre temps!

Répondre

0

Vous pouvez utiliser quelque chose comme rsync qui va synchroniser n'importe quoi et fonctionnera sur une connexion SSH. Toutefois, vous pouvez envisager de séparer votre application des données et d'utiliser différentes méthodes. Vraisemblablement, si vous développez sur votre machine, vous exécuterez des tests locaux et les données locales ne devraient normalement pas aller sur le site Web. Dans ce cas, si vous exécutez localement quelque chose comme SVN, puis utilisez un client SVN sur le serveur Web pour extraire les mises à jour, vous pouvez synchroniser l'application sans affecter les données.

Bien sûr, quand vous en avez besoin, rsync peut être utilisé pour tout télécharger, par exemple sur un nouveau site. De par sa nature, rsync peut redémarrer en douceur chaque fois qu'un transfert est interrompu, car il compare toujours la source et la destination, puis ne transfère que le nombre de données nécessaire pour rendre la destination égale à la source. Cela signifie que la plupart de vos transferts fonctionneront beaucoup plus rapidement qu'avec FTP. Si la nature de votre application Web nécessite une mise à jour régulière de la base de données, ne tentez pas d'essayer SVN car les systèmes de contrôle de révision ne fonctionnent réellement qu'avec les fichiers de code source. En outre, lorsque vous utilisez rsync pour envoyer une mise à jour, vous devez vous assurer que la base de données n'est pas active car elle est effectivement dans un état corrompu jusqu'à ce que rsync se termine correctement. Si vous mettez toujours à jour un dossier de transfert sur le serveur Web, puis que vous le placez en production lorsque la base de données est arrêtée, cela fonctionne mieux.

0

J'espère que vous utilisez un système de contrôle de version comme SVN ou Mercurial. Ensuite, tous vos développeurs peuvent travailler à partir du même référentiel, auront un historique complet et la plupart de la fusion se fera automatiquement.

Ne pas utiliser le contrôle de version est une énorme douleur dans le cul! Vous écraserez accidentellement le travail de chacun, perdrez des fichiers, oubliez ce qui a été changé, ayez plusieurs copies de dossiers partout, etc. Les systèmes de contrôle de version traitent tous ces problèmes plus ils centralisent votre code dans un endroit unique pour tirer et pousser.

Questions connexes