Опубликовать в S3 с помощью Git?
кто-нибудь знает, как это сделать? До сих пор я не смог найти ничего полезного через Google.
Я бы очень хотел настроить локальное РЕПО и использовать git push
чтобы опубликовать его в S3, идея состоит в том, чтобы иметь локальный контроль версий над активами, но удаленное хранилище на S3.
можно ли это сделать, и если да, то как?
7 ответов:
1 Использовать JGit через http://blog.spearce.org/2008/07/using-jgit-to-publish-on-amazon-s3.html
скачать jgit.sh, переименуйте его в jgit и поместите его в свой путь (например, $HOME/bin).
настройки .Jgit config file и добавьте следующее (подставляя ключи AWS):
$vim ~/.jgit
accesskey: aws access key secretkey: aws secret access key
Примечание, не указав acl: public в поле .Jgit-файл, git-файлы на S3 будут частными (что и есть мы хотели). Затем создайте ведро S3 для хранения вашего репозитория, назовем его git-repos, а затем создайте репозиторий git для загрузки:
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
в приведенном выше примере я использую инструмент командной строки s3cmd для создания ведра, но вы также можете сделать это через веб-интерфейс Amazon. Теперь давайте подтолкнем его к S3 (обратите внимание, как мы используем jgit всякий раз, когда мы взаимодействуем с S3, и стандартный git в противном случае):
jgit push origin master
теперь идите куда-нибудь еще (например, cd /tmp) и попробуйте клонировать это:
jgit clone amazon-s3://.jgit@git-repos/chef-recipes.git
когда приходит время обновить его (потому что jgit не поддерживает слияние или вытягивание), вы делаете это в 2 этапа:
cd chef-recipes jgit fetch git merge origin/master
2 использовать файловая система на основе предохранителей, поддерживаемая Amazon S3
получить учетную запись Amazon S3!
скачать, скомпилировать и установить. (см. InstallationNotes)
укажите свои учетные данные Безопасности (идентификатор ключа доступа и секрет Доступ Ключ) одним из следующих способов:
С помощью параметра командной строки passwd_file
установка переменных окружения AWSACCESSKEYID и AWSSECRETACCESSKEY
С помощью a .passwd-s3fs файл в вашем домашнем каталоге
используя общесистемный/etc / passwd-s3fs файл
do это
.
/usr/bin/s3fs mybucket /mnt
вот именно! содержимое вашего Amazon bucket "mybucket" теперь должно быть доступно для чтения /записи в / mnt
Dandelion-это еще один инструмент CLI, который будет синхронизировать репозитории Git с S3 / FTP/SFTP: http://github.com/scttnlsn/dandelion
git-s3 - https://github.com/schickling/git-s3
вы просто должны запустить
git-s3 deploy
Он поставляется со всеми преимуществами РЕПО git и загружает / удаляет только файлы, которые вы изменили.
Примечание: развертывание не является неявным с помощью git push, но вы можете достичь этого с помощью Git hook.
можно использовать mc aka Minio client, его написано в Golang и доступно под лицензией Apache с открытым исходным кодом. Он доступен для Mac, Linux, Windows, FreeBsd. Вы можете использовать
mc mirror
команда для достижения ваших требований.mc GNU/Linux скачать
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
настройка mc для Amazon S3
$ mc config host add mys3 https://s3.amazonaws.com BKIKJAA5BMMU2RHO6IBB V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12
- заменить на ваш доступ / секретный ключ
- по умолчанию mc использует подпись версии 4 Амазонки С3.
- mys3-это псевдоним Amazon S3 для клиента minio
зеркальное отображение локального репозитория/каталога github say name
mygithub
к имени корзины amazon S3mygithubbkp
$ ./mc mirror mygithub mys3/mygithubbkp
надеюсь, что это помогает Отказ от ответственности : я работаю на Minio
вы можете использовать deplybot (http://deploybot.com/) сервис, который является бесплатным для одного репозитория git.
вы можете автоматизировать развертывание, выбрав "автоматический" в разделе Режим развертывания.
Я использую его сейчас. Это очень легко и полезно.
контроль версий ваших файлов с помощью Github? Этот скрипт (и связанные с ним конфигурации GitHub / AWS) будут принимать новые коммиты в ваше РЕПО и синхронизировать их в вашем ведре S3.
вам нужно JGit для него.
просто сохранить .файл jgit в каталоге пользователя с учетными данными aws, и вы можете использовать git с s3.
вот как будет выглядеть ваш git url.
amazon-s3://.jgit@mybucket/myproject.git
вы можете делать все, что вы делаете с
git
Сjgit
.получить полное руководство по установке здесь.
https://metamug.com/article/jgit-host-git-repository-on-s3.php