Je serais ravi d'utiliser git pour héberger mon site Web et j'aimerais une plate-forme à laquelle je peux me connecter en ligne pour l'accompagner (quelque chose comme Github). Vous penseriez dans ce cas, que les pages Github seraient le chemin parfait pour moi, bien que je ne veuille pas utiliser les pages Github. J'aimerais héberger tout cela sur mes propres serveurs comme vous le faites avec Github Enterprise (mais gratuitement).
J'ai trouvé Gitlab et je me demandais s'il était possible d'utiliser Gitlab comme des pages Github. C'est possible?
web-hosting
git
Ben Watkins
la source
la source
Réponses:
Bonnes nouvelles!
Depuis le 8.3 (déc. 2015), GitLab possède des "pages GitLab". https://about.gitlab.com/2015/12/22/gitlab-8-3-released/
Cette fonctionnalité est disponible sur GitLab.com (qui exécute EE) où vous pouvez avoir des référentiels gratuits et illimités, publics / privés.
Voici la documentation pour les pages GitLab, expliquant comment vous pouvez héberger gratuitement vos sites Web statiques sur GitLab. http://doc.gitlab.com/ee/pages/README.html
la source
Je ne sais pas vraiment ce que vous demandez. Vous dites que vous voulez héberger sur votre propre serveur mais votre question dit que vous voulez héberger comme des pages gitlab qui ne sont pas votre propre serveur.
Dans tous les cas, cela vous aidera peut-être
C'est ce que je fais
sur le PC local
J'ai maintenant un dépôt local. Copiez-le sur le serveur
Maintenant, je l'ai sur le serveur distant.
Maintenant, il y a à la fois une branche principale et une branche en direct sur le site Web. Je fais cela depuis AFAICT, vous ne pouvez pas pousser vers la branche actuelle. Nous avons donc maintenant une branche "live" qui est actuelle sur la télécommande et une branche "master" qui n'est pas
Enfin, ajoutez une télécommande à mon dépôt local
Maintenant, chaque fois que je veux mettre à jour le site Web, j'archive des trucs dans ma branche principale locale, puis exécute ce script
Le
git push
pousse mes modifications à la branche non actuelle sur le serveur Web. Lessh
se connecte ensuite au serveur Web et transfère rapidement les modifications de "master" à la branche actuelle. Dans ce cas, la branche "live".--ff-only
dit d'échouer s'il y a des changements sur le serveur.S'il y a des changements sur le serveur, je peux les insérer dans mon maître local avec
Sur plus de chose. Avant de faire quoi que ce soit, je configure les clés SSH sur le serveur distant pour ne pas avoir à taper de mot de passe
Cela n'a absolument aucun lien avec github ou gitlab. Je pourrais aussi y pousser mes modifications, mais elles ne sont pas connectées.
la source
Il existe un projet nodejs qui implémente ceci: https://github.com/Glavin001/GitLab-Pages
la source
Avec une petite recherche de diverses questions sur Google, j'ai trouvé un moyen. Ce n'est peut-être pas le meilleur moyen et c'est peut-être trop compliqué, mais cela devrait fonctionner et c'est l'essentiel. Cependant, si vous connaissez un meilleur moyen ou pouvez en trouver un, faites-le moi savoir!
J'ai trouvé que vous pouvez déployer votre code sur vos serveurs via des hooks Git. Tout ce que vous devez faire est SSH sur votre serveur, créez un dépôt git, puis configurez un hook pour que vous poussiez les validations vers ce dépôt. Cela vous permettra de pousser vos validations sur vos serveurs, mais n'a rien à voir avec gitlab à ce stade.
L'étape suivante consiste à ajouter l'url de push pour gitlab à la même télécommande. De cette façon, vous pousserez à la fois vers gitlab et le site lui-même. Par conséquent, le dépôt gitlab et le site réel seront tous deux synchronisés. Bien que ce soit un hack et qu'il n'est certainement pas efficace.
J'ai trouvé comment déployer votre code sur vos serveurs via git à partir de cet article de blog: http://sebduggan.com/blog/deploy-your-website-changes-using-git/
J'ai trouvé que vous pouviez ajouter deux URL de poussée à vos télécommandes dans git à partir de cette question sur stackoverflow: /programming/14290113/git-pushing-code-to-two-remotes
Comme je l'ai dit, si vous pouvez trouver un meilleur moyen, faites-le moi savoir. Cela fonctionnera, mais cela signifie avoir deux versions du même code. Bien sûr, c'est très compliqué et c'est un gros gaspillage de stockage de votre serveur.
la source
Actuellement, le mieux que vous puissiez faire est de GitLab CI pour pousser vers un serveur statique comme Amazon S3.
Si vous pouvez déployer avec Git, la question suivante (non résolue) est spécifique à la façon de le faire avec gitlab: /programming/14288288/gitlab-repository-mirroring
Il y a une demande spécifique pour cela au tracker de fonctionnalité: http://feedback.gitlab.com/forums/176466-general/suggestions/5599145-preview-render-static-html-pages-push-to-repos
la source