Bonjour à tous,
J'utilise Git (avec Bitbucket) pour mon projet perso.
En IDE j'ai sublimetext avec sFTP, est-ce que c'est possible de synchronisé aussi le serveur web (via ftp) à chaque nouveau commit et donc nouveau push. Si oui comment ? Quel est la meilleure alternative. Je perds un temps fou à utilisé sFTP pour mettre à jour mes fichiers modifiés alors qu'avec git un coup de push et hop mon repos bitBucket est à jour. C'est possible de faire la même chose? Mettre à jour le serveur uniquement si il y a modification de fichiers (ou nouvelle création) plutôt que de selectionné manuellement avec Sublime les fichiers à envoyé sur le serveur.
Merci à vous :)
Bonjour.
est-ce que c'est possible de synchronisé aussi le serveur web (via ftp)
Tu ne peux pas synchroniser un serveur distant par FTP, vu que c'est via connexion sécurisée, il faut donc forcément que ce soit via SFTP/SSH.
Bonjour,
Le synchroniser, c'est possible via Git si ton hébergeur le permet.
MAIS ! (Car il y a un met) Dans ce cas fais bien attention de rendre ton répertoire .git innaccessible en ligne, si quelqu'un tombe sur son contenu, il a alors accès :
Donc c'est possible si ton hébergeur gère git, mais c'est à tes risques et périls si tu ne maitrise pas Git à fond.
Personnellement, je préfère perdre du temps avec un FTP, comme ça j'ai en plus la garantie de ne pas péter mon appli en faisant un push non désiré.
Salut,
Personnellement j'utilise pas bitbucket mais je pense que le fonctionnement est le meme que pour Github et moi je passe par ce que l'on appelle les webhooks.
Si tu n'es pas anglophobe voici un lien qui te permettra de comprendre https://confluence.atlassian.com/bitbucket/manage-webhooks-735643732.html
Pour que ça fonctionne pour github j'ai besoin de deux fichiers et de faire la configuration du webhook dans github :
github-sync.php
<?php
$fullPostData = file_get_contents('php://input');
#$data = json_decode($fullPostData);
#var_dump($data);
try
{
$payload = json_decode($fullPostData);
}
catch(Exception $e)
{
exit(0);
}
//log the request
file_put_contents('logs/github.txt', print_r($payload, TRUE), FILE_APPEND);
if ($payload->ref === 'refs/heads/master')
{
echo "Mise en production\n";
// path to your site deployment script
$output = system("./build.sh");
# var_dump($output);
}
build.sh
#!/bin/sh
cmdGit=$(which git)
cd /srv/www/xxxxxxxx # Le repertoire de ton depot git
unset GIT_DIR
#/usr/bin/git pull origin master
$cmdGit pull origin master
Avec ça dès que je push sur mon dépot github dans la branche master, il met à jour mon dépot de production.
Je pense que ce tutoriel repond plus ou moins a ta problèmatique : http://www.grafikart.fr/tutoriels/php/envoy-deploy-624
Merci de vos réponses, j'avais entendu parlé de deploy mais le fait de passé par du PHP pour uploadé des fichiers sur un serveur, je trouvais sa un peu bizzard, puis finalement je suis tout simplement parti sur Git FTP. Un coup de git push ftp et la magie opère de la même manière qu'en faisant un git push origin --all !