Publish to S3 using Git?

Czy ktoś wie jak to zrobić? Do tej pory nie udało mi się znaleźć niczego przydatnego przez Google.

Naprawdę chciałbym skonfigurować lokalny repo i użyć git push do opublikowania go na S3, idea jest taka, aby mieć lokalną kontrolę wersji nad zasobami, ale zdalną pamięcią masową Na S3.

Czy można to zrobić, a jeśli tak, to jak?
Author: Andrew, 2011-08-11

7 answers

1 Użyj JGit poprzez http://blog.spearce.org/2008/07/using-jgit-to-publish-on-amazon-s3.html

Pobierz jgit.sh, Zmień nazwę na jgit i umieść w swojej ścieżce (na przykład $HOME / bin).

Setup the .plik konfiguracyjny jgit i dodaj następujące (zastępujące klucze AWS):

$vim~/.jgit

accesskey: aws access key
secretkey: aws secret access key

Uwaga, nie podając acl: public w .plik jgit, pliki git na S3 będą prywatne(czego chcieliśmy). Następnie utwórz wiadro S3 do Przechowuj swoje repozytorium, nazwijmy je git-repos, a następnie utwórz repozytorium git do przesłania:

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

W powyższym używam narzędzia wiersza poleceń s3cmd do tworzenia wiadra, ale możesz to zrobić również za pośrednictwem interfejsu internetowego Amazon. Teraz przesuńmy go do S3 (zauważ, jak używamy jgit za każdym razem, gdy wchodzimy w interakcję z S3, a standard git w przeciwnym razie):

jgit push origin master

Teraz idź gdzie indziej (np. cd /tmp) i spróbuj go sklonować:

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

Kiedy przyjdzie czas na aktualizację (bo jgit nie obsługuje merge lub pull) robisz to w 2 krokach:

cd chef-recipes
jgit fetch
git merge origin/master

2 Użyj FUSE-based file system wspierany przez Amazon S3

  1. Załóż konto Amazon S3!

  2. Pobierz, skompiluj i zainstaluj. (zobacz InstallationNotes)

  3. Określ swoje poświadczenia bezpieczeństwa (identyfikator klucza dostępu i tajny dostęp Klucz) za pomocą jednej z następujących metod:

    • Użycie opcji wiersza poleceń passwd_file

    • Ustawienie zmienne środowiskowe AWSACCESSKEYID i AWSSECRETACCESSKEY

    • Za pomocą .plik passwd - s3fs w katalogu domowym

    • Używanie systemowego pliku/etc / passwd-s3fs

    • Do this

.

/usr/bin/s3fs mybucket /mnt
To jest to! zawartość wiadra amazon "mybucket" powinna być teraz dostępna do odczytu/zapisu w / mnt
 48
Author: Riceball LEE,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-18 04:44:43

Dandelion to kolejne narzędzie CLI, które będzie synchronizować repozytoria Git z S3 / FTP/SFTP: http://github.com/scttnlsn/dandelion

 9
Author: scttnlsn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-03 20:08:32

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

You just have to run git-s3 deploy

Posiada wszystkie zalety repo git i przesyła / usuwa tylko pliki, które zmieniłeś.
Uwaga: wdrożenia nie są niejawne poprzez git push, ale można to osiągnąć poprzez Git hook.

 8
Author: schickling,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-18 07:04:33

Możesz użyć MC aka Minio client, jego napisany w Golang i dostępny na licencji Open Source Apache License. Jest on dostępny dla komputerów Mac, Linux, Windows, FreeBsd. Możesz użyć polecenia mc mirror, aby spełnić swoje wymagania.

Mc GNU / Linux Download

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

Konfiguracja mc dla Amazon S3

$ mc config host add mys3 https://s3.amazonaws.com BKIKJAA5BMMU2RHO6IBB V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12
  • Zastąp swoim kluczem dostępu / tajnego klucza
  • domyślnie mc używa podpisu w wersji 4 amazon S3.
  • mys3 to Alias Amazon S3 dla klient minio

Mirror your github local repozytorium / directory say name mygithub nazwa wiadra amazon S3 mygithubbkp

$ ./mc mirror mygithub mys3/mygithubbkp

Hope it helps Zastrzeżenie: pracuję dla Minio

 2
Author: koolhead17,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-22 04:11:14

Możesz użyć deplybot ( http://deploybot.com / ) usługa bezpłatna dla pojedynczego repozytorium git.

Możesz zautomatyzować wdrażanie, wybierając opcję "Automatyczne" w sekcji Tryb wdrażania.

Używam go teraz. Jest to bardzo łatwe i użyteczne.

 1
Author: Jayaprakash,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-21 10:40:44

Kontrola wersji plików z Github? Ten skrypt (i powiązane z nim konfiguracje GitHub / AWS) pobierze nowe commity do twojego repo i zsynchronizuje je z Twoim zasobnikiem S3.

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

 0
Author: Max Hodges,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-05 15:14:11

Potrzebujesz JGit do tego.

Po prostu zapisz .plik jgit w katalogu użytkownika z poświadczeniami aws i możesz używać git z s3.

Oto jak będzie wyglądał Twój URL Gita.

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

Możesz zrobić wszystko, co robisz z git z jgit.

Pobierz kompletny przewodnik konfiguracji tutaj.

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

 0
Author: Sorter,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-09 15:43:31