Est-ce que quelqu'un sait comment faire ça? Jusqu'à présent, je n'ai rien trouvé d'utile via Google.
J'aimerais vraiment configurer un dépôt local et l'utiliser git push
pour le publier sur S3, l'idée étant d'avoir un contrôle de version local sur les actifs mais un stockage à distance sur S3.
Est-ce possible et si oui comment?
s3fs
c'est une solution viable.s3cmd sync …
?Réponses:
1 Utilisez JGit via http://blog.spearce.org/2008/07/using-jgit-to-publish-on-amazon-s3.html
Téléchargez jgit.sh, renommez-le en jgit et placez-le dans votre chemin (par exemple $ HOME / bin).
Configurez le fichier de configuration .jgit et ajoutez ce qui suit (en remplaçant vos clés AWS):
$ vim ~ / .jgit
Notez qu'en ne spécifiant pas acl: public dans le fichier .jgit, les fichiers git sur S3 seront privés (ce que nous voulions). Ensuite, créez un compartiment S3 pour stocker votre référentiel, appelons-le git-repos, puis créez un référentiel git à télécharger:
Dans ce qui précède, j'utilise l'outil de ligne de commande s3cmd pour créer le seau, mais vous pouvez également le faire via l'interface Web d'Amazon. Maintenant, poussons-le jusqu'à S3 (notez comment nous utilisons jgit chaque fois que nous interagissons avec S3, et git standard sinon):
Maintenant, allez ailleurs (par exemple cd / tmp) et essayez de le cloner:
Quand vient le temps de le mettre à jour (car jgit ne prend pas en charge la fusion ou l'extraction), vous le faites en 2 étapes:
2 Utilisez un système de fichiers basé sur FUSE soutenu par Amazon S3
Obtenez un compte Amazon S3!
Téléchargez, compilez et installez. (voir Notes d'installation)
Spécifiez vos informations d'identification de sécurité (ID de clé d'accès et clé d'accès secrète) par l'une des méthodes suivantes:
utilisation de l'option de ligne de commande passwd_file
définition des variables d'environnement AWSACCESSKEYID et AWSSECRETACCESSKEY
en utilisant un fichier .passwd-s3fs dans votre répertoire personnel
en utilisant le fichier système / etc / passwd-s3fs
fais ça
.
C'est ça! le contenu de votre bucket amazon "mybucket" devrait maintenant être accessible en lecture / écriture dans / mnt
la source
The request signature we calculated does not match the signature you provided. Check your key and signing method
erreur lorsque j'essaye de le fairejgit push origin master
. Une idée de comment je peux faire disparaître cela?post-receive
hook qui vérifie leGIT_WORK_TREE
. Voir ici pour plus de détails. J'ai fini par faire fonctionner cela très bien avecs3fs
. Je le recommande vivement et merci de m'avoir aidé à démarrer.Dandelion est un autre outil CLI qui maintiendra les référentiels Git synchronisés avec S3 / FTP / SFTP: http://github.com/scttnlsn/dandelion
la source
git-s3 - https://github.com/schickling/git-s3
Tu dois juste courir
git-s3 deploy
Il est livré avec tous les avantages d'un dépôt git et télécharge / supprime uniquement les fichiers que vous avez modifiés.
Remarque: les déploiements ne sont pas implicites via git push mais vous pouvez y parvenir via un hook git.
la source
Composer
, qui à son tour dépend dePHP
.Vous pouvez utiliser le client mc aka Minio , il est écrit en Golang et disponible sous licence Open Source Apache. Il est disponible pour Mac, Linux, Windows, FreeBsd. Vous pouvez utiliser la
mc mirror
commande pour répondre à vos besoins.Téléchargement mc GNU / Linux
Configuration de mc pour Amazon S3
Mettez en miroir votre référentiel / répertoire local github, dites le nom
mygithub
au nom du compartiment Amazon S3mygithubbkp
J'espère que cela aide Disclaimer: je travaille pour Minio
la source
Vous pouvez également le faire à l'aide de l'AWS CLI et de Git (avec des hooks). Vérifié fonctionnant sous Windows 10. Devrait fonctionner sous Linux / Mac.
Configuration de la synchronisation avec S3 lors de la validation
bare
référentiel git de votre projet git existant:REMARQUE: l'utilisation d'un dépôt nu servira d'amont et le dépôt nu n'aura que les modifications que vous souhaitez télécharger dans le compartiment S3 et non les fichiers ignorés, les configurations git locales, etc.
post-update
danshooks
lemyproject.git
répertoire nu .myproject
répertoire et ajoutez le dépôt nu en amont, nommez-les3
par exemple:REMARQUE: vous pouvez utiliser un chemin relatif pour le chemin d'accès au répertoire nu.
Essai
s3
amont lorsque vous souhaitez synchroniser les modifications dans votre compartiment S3.Références:
la source
Vous pouvez utiliser le service deplybot ( http://deploybot.com/ ) qui est gratuit pour un référentiel git unique.
Vous pouvez automatiser le déploiement en choisissant «automatique» dans la section du mode de déploiement.
Je l'utilise maintenant. C'est très simple et utile.
la source
contrôler la version de vos fichiers avec Github? Ce script (et ses configurations GitHub / AWS associées) prendra de nouveaux commits dans votre dépôt et les synchronisera dans votre compartiment S3.
https://github.com/nytlabs/github-s3-deploy
la source
Vous avez besoin de JGit pour cela.
Enregistrez simplement un fichier .jgit dans le répertoire utilisateur avec les informations d'identification aws et vous pouvez utiliser git avec s3.
Voici à quoi ressemblera votre URL git.
Vous pouvez faire tout ce que vous faites
git
avecjgit
.Obtenez un guide d'installation complet ici.
https://metamug.com/article/jgit-host-git-repository-on-s3.html
la source