Frage Mit Git in S3 veröffentlichen?


Weiß jemand, wie man das macht? Bis jetzt konnte ich über Google nichts Nützliches finden.

Ich würde gerne ein lokales Repo einrichten und verwenden git push um es in S3 zu veröffentlichen, die Idee ist, lokale Versionskontrolle über Assets, aber Remote-Speicher auf S3 zu haben.

Kann das gemacht werden, und wenn ja, wie?


76
2017-08-11 19:32


Ursprung


Antworten:


1 Verwenden Sie JGit über http://blog.spearce.org/2008/07/using-jgit-to-publish-on-amazon-s3.html

Lade jgit.sh herunter, benenne es in jgit um und lege es in deinen Pfad (zum Beispiel $ HOME / bin).

Richten Sie die .jgit-Konfigurationsdatei ein und fügen Sie Folgendes hinzu (indem Sie Ihre AWS-Schlüssel ersetzen):

$ vim ~ / .jgit

accesskey: aws access key
secretkey: aws secret access key

Hinweis: Wenn Sie in der JGIT-Datei nicht acl: public angeben, sind die Git-Dateien in S3 privat (was wir wollten). Erstellen Sie als Nächstes einen S3-Bucket zum Speichern Ihres Repositorys, nennen wir es git-repos und erstellen Sie dann ein git-Repository zum Hochladen:

s3cmd mb s3://git-repos
mkdir chef-recipes
cd chef-recipes
git init
touch README
git add README
git commit README
git remote add origin amazon-s3://.jgit@git-repos/chef-recipes.git

Im obigen Beispiel verwende ich das Befehlszeilentool s3cmd, um den Bucket zu erstellen, aber Sie können dies auch über die Amazon-Weboberfläche tun. Nun lasst es uns zu S3 hochschieben (beachte, wie wir jgit verwenden, wenn wir mit S3 und ansonsten mit git interagieren):

jgit push origin master

Gehen Sie nun woanders hin (z. B. cd / tmp) und versuchen Sie es zu klonen:

jgit clone amazon-s3://.jgit@git-repos/chef-recipes.git

Wenn es Zeit ist, es zu aktualisieren (weil Jgit Merge oder Pull nicht unterstützt), tun Sie es in 2 Schritten:

cd chef-recipes
jgit fetch
git merge origin/master

2 Benutzen FUSE-basiertes Dateisystem, das von Amazon S3 unterstützt wird

  1. Holen Sie sich ein Amazon S3-Konto!

  2. Herunterladen, kompilieren und installieren. (siehe Installationshinweise)

  3. Geben Sie Ihre Sicherheitsanmeldeinformationen an (Zugriffsschlüssel-ID und geheimer Zugriff) Schlüssel) mit einer der folgenden Methoden:

    • Verwenden der Befehlszeilenoption passwd_file

    • Festlegen der Umgebungsvariablen AWSACCESSKEYID und ASSSSECRETACCESSKEY

    • Verwenden einer .passwd-s3fs-Datei in Ihrem Home-Verzeichnis

    • Verwenden Sie die systemweite Datei / etc / passwd-s3fs

    • mach das

.

/usr/bin/s3fs mybucket /mnt

Das ist es! der inhalt ihres amazoneimers "mybucket" sollte nun les- / schreibbar in / mnt sein


47
2017-11-08 06:24



Dandelion ist ein weiteres CLI-Tool, das Git-Repositories mit S3 / FTP / SFTP synchronisiert: http://github.com/scttnlsn/dandelion


9
2018-04-03 20:08



Git-s3 - https://github.com/schickling/git-s3

Du musst nur rennen git-s3 deploy

Es kommt mit allen Vorteilen eines Git Repos und löscht / löscht nur die Dateien, die Sie geändert haben.
Hinweis: Bereitstellungen sind nicht implizit über Git-Push, aber Sie können dies über einen Git-Hook erreichen.


7
2017-07-18 07:04



Sie können verwenden mc alias Minio ClientEs ist in Golang geschrieben und verfügbar unter Open Source Apache License. Es ist verfügbar für Mac, Linux, Windows, FreeBsd. Sie können verwenden mc mirror Befehl, um Ihre Anforderung zu erfüllen.

mc GNU / Linux Herunterladen 

64-bit Intel from https://dl.minio.io/client/mc/release/linux-amd64/mc
32-bit Intel from https://dl.minio.io/client/mc/release/linux-386/mc
32-bit ARM from https://dl.minio.io/client/mc/release/linux-arm/mc
$ chmod +x mc
$ ./mc --help

Konfigurieren von mc für Amazon S3

$ mc config host add mys3 https://s3.amazonaws.com BKIKJAA5BMMU2RHO6IBB V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12
  • Ersetzen Sie durch Ihren Zugang / geheimen Schlüssel
  • Standardmäßig verwendet mc die Signaturversion 4 von amazon S3.
  • mys3 ist der Amazon S3-Alias ​​für den Minio-Client

Spiegeln Sie Ihr lokales Github-Repository / Verzeichnis Say Name mygithub zu Amazon S3 Bucket Name mygithubbkp

$ ./mc mirror mygithub mys3/mygithubbkp

Ich hoffe es hilft Haftungsausschluss: Ich arbeite für Minio 


2
2018-03-18 09:29



Sie können deplybot verwenden (http://deploypot.com/) Service, der für ein einzelnes Git-Repository kostenlos ist.

Sie können die Bereitstellung automatisieren, indem Sie im Abschnitt Bereitstellungsmodus die Option "Automatisch" auswählen.

Ich benutze es jetzt. Es ist sehr einfach und nützlich.


1
2018-01-21 10:40



Versionskontrolle Ihre Dateien mit Github? Dieses Skript (und die zugehörigen GitHub / AWS-Konfigurationen) nimmt neue Commits zu Ihrem Repo und synchronisiert sie in Ihren S3-Bucket.

https://github.com/nytlabs/github-s3-deploy


0
2018-04-05 15:14



Du brauchst JGit dafür.

Speichern Sie einfach eine .jgit Datei im Benutzerverzeichnis mit den Zugangsdaten von aws und Sie können git mit s3 verwenden.

Hier sehen Sie, wie Ihre git url aussieht.

amazon-s3://.jgit@mybucket/myproject.git

Sie können alles tun, was Sie tun git mit jgit.

Hier erhalten Sie eine vollständige Installationsanleitung.

https://metamug.com/article/jgit-host-git-repository-on-s3.php


0
2018-03-09 15:43