Comment le programme d'installation Gitlab Web Crochet de déploiement
J'ai créer un nouveau projet et de branches dans ce projet. J'ai besoin de configurer une branche particulière de mon serveur de développement. chaque fois que push est arriver dans cette direction que devrait être automatiquement déploiement de serveur.
J'ai essayé avec Web Crochet dans Gitlab. Mais Il n'est pas de l'entraînement. Veuillez donner réf. étape par étape de liaison. Ce sont la configuration que j'ai besoin de faire dans mon local de la machine ainsi que le système de serveur. J'ai cherché, nous avons besoin de mettre en place un "Post Recevoir WebHook dans le serveur" peut s'il vous plaît donner l'idée.
"Ici, je vais expliquer ce qui est dans ma main. Le serveur déjà configuré sans git. J'ai un projet à l'intérieur d'une branche "develop". J'ai clone dans mon local et en le poussant vers la branche. Il fonctionne très bien. (Je suis en utilisant la fenêtre de la machine git bash). Mais Ici, après, quand je l'ai pousser une mise à jour j'ai besoin de pousser vers le serveur. Donc, j'ai essayé avec Web Crochet. Mais ça ne fonctionne pas. "
double possible de Custom post-recevoir un fichier à l'aide de GitLab
OriginalL'auteur bala-16 | 2014-03-04
Vous devez vous connecter pour publier un commentaire.
J'ai aussi rencontré ce problème, il n'est guère de documentation pour les débutants.
Voici les étapes que j'ai pris pour le faire fonctionner avec gitlab:
assurez-vous d'avoir une clé SSH sur le serveur que vous voulez auto deploy sur, pour moi, c'était un serveur Ubuntu. J'ai eu pour générer une clé SSH pour www-data afin que l'utilisateur puisse se connecter au serveur gitlab.
J'ai eu pour exécuter cette commande pour générer une clé ssh pour www-data de l'utilisateur:
Après vous générez la clé ssh, vous devez l'ajouter à la gitlab pour vos projets déployer des touches. (projet->paramètres->déployer des touches).
maintenant allez dans le dossier que vous voulez que votre projet pousser à (pour moi, c'est /var/www/site web/) et effectuez les opérations suivantes:
le point à la fin, il est donc il extrait les fichiers, et de ne pas inclure le dossier de votre projet sur gitlab.
alors...
Qui donne la permission de le git dossier d'exécuter des commandes php et ajoute le groupe www-data dans le dossier.
après que j'ai eu à faire un script qui permettrait d'exécuter les commandes que je voulais quand le crochet a été appelé.
voici le code php que j'utilise, j'ai nommé le fichier webhook.php
l'webhook.php aurez besoin d'exécuter des autorisations de www-data.
une fois que tout cela est fait, vous aurez besoin de faire le webhook dans votre projet (projet->paramètres->webhooks)
ajouter l'url à la webhook.php
J'ai mis mon webhook.php dans un sous-domaine sur le serveur afin que je puisse l'utiliser pour pousser les différents sites avec le même fichier.
http://deploy.website.com/webhook.php
J'ai aussi ajouté http://requestb.in pour que je puisse assurez-vous que les données qui ont été envoyés sur le serveur.
Ne sais pas si j'oublie quelque chose, mais je pense que c'est tout ce que j'ai fait
git clone URL .
aprèsgit init
échoue, car le répertoire n'est pas vide.puisque vous n'avez pas cloné votre référentiel encore, le répertoire qui vous le clonage devrait être vide.
Mais
git init
ajoute un fichier dans le répertoire, le rendant non-vide.git clone URL .
seul suffit.OriginalL'auteur Shalako Lee
Il y a une option de configuration qui permet (désactivé par défaut).
Pousser il permettra de synchroniser directement sur le serveur.
Si votre serveur git n'est pas sur la même machine que votre serveur http, vous pouvez utiliser :
http://ryanflorence.com/deploying-websites-with-a-tiny-git-hook/
Ce que nous avons fait, où j'ai travaillé, c'était d'avoir une base .sh script qui ferait la
git pull origin master && cp -Rf ./ /http/server/path
Vous pouviez mettre que dans un CRON avec un 30 secondes de temps et d'être bien. Pas vraiment ce que tu voulais, mais simple à faire et assez efficace.OriginalL'auteur Loïc