Кто-нибудь знает как это сделать? Пока ничего полезного через гугл найти не удалось.
Я действительно хотел бы настроить локальное репо и использовать его git push
для публикации на S3, идея заключается в том, чтобы иметь локальный контроль версий над активами, но удаленное хранилище на S3.
Можно ли это сделать, и если да, то как?
s3fs
что это жизнеспособное решение.s3cmd sync …
?Ответы:
1 Используйте JGit через http://blog.spearce.org/2008/07/using-jgit-to-publish-on-amazon-s3.html
Загрузите jgit.sh, переименуйте его в jgit и поместите в свой путь (например, $ HOME / bin).
Настройте файл конфигурации .jgit и добавьте следующее (вместо ключей AWS):
$ vim ~ / .jgit
Обратите внимание: если не указать acl: public в файле .jgit, файлы git на S3 будут закрытыми (что мы и хотели). Затем создайте корзину S3 для хранения вашего репозитория, назовем ее git-repos, а затем создадим репозиторий git для загрузки:
В приведенном выше примере я использую инструмент командной строки s3cmd для создания корзины, но вы также можете сделать это через веб-интерфейс Amazon. Теперь давайте перейдем к S3 (обратите внимание, как мы используем jgit всякий раз, когда взаимодействуем с S3, и стандартный git в противном случае):
Теперь перейдите в другое место (например, cd / tmp) и попробуйте клонировать его:
Когда приходит время обновить его (поскольку jgit не поддерживает слияние или вытягивание), вы делаете это в два шага:
2 Используйте файловую систему на основе FUSE, поддерживаемую Amazon S3
Получите учетную запись Amazon S3!
Скачайте, скомпилируйте и установите. (см. примечания по установке)
Укажите свои учетные данные безопасности (идентификатор ключа доступа и секретный ключ доступа) одним из следующих способов:
с помощью параметра командной строки passwd_file
установка переменных среды AWSACCESSKEYID и AWSSECRETACCESSKEY
используя файл .passwd-s3fs в вашем домашнем каталоге
с использованием общесистемного файла / etc / passwd-s3fs
сделай это
.
Это оно! содержимое вашей амазонской корзины "mybucket" теперь должно быть доступно для чтения и записи в / mnt
источник
The request signature we calculated does not match the signature you provided. Check your key and signing method
при попытке сделать это получаю сообщение об ошибкеjgit push origin master
. Есть идеи, как я могу избавиться от этого?post-receive
крючка, проверяющегоGIT_WORK_TREE
. Подробнее см. Здесь . В итоге у меня получилось неплохо с этим работатьs3fs
. Настоятельно рекомендуется и спасибо за помощь в начале работы.Dandelion - еще один инструмент командной строки, который будет синхронизировать репозитории Git с S3 / FTP / SFTP: http://github.com/scttnlsn/dandelion
источник
git-s3 - https://github.com/schickling/git-s3
Тебе просто нужно бежать
git-s3 deploy
Он обладает всеми преимуществами репозитория git и загружает / удаляет только те файлы, которые вы изменили.
Примечание. Развертывание не подразумевается с помощью git push, но вы можете добиться этого с помощью ловушки git.
источник
Composer
, который, в свою очередь, зависит отPHP
.Вы можете использовать клиент mc aka Minio , написанный на Golang и доступный по лицензии Apache с открытым исходным кодом. Он доступен для Mac, Linux, Windows, FreeBsd. Вы можете использовать
mc mirror
команду для достижения ваших требований.mc GNU / Linux Скачать
Настройка mc для Amazon S3
Зеркально отразите свой локальный репозиторий / каталог github, скажите имя
mygithub
для имени ведра amazon S3mygithubbkp
Надеюсь, это поможет. Отказ от ответственности: я работаю в Minio
источник
Вы также можете сделать это с помощью AWS CLI и Git (с хуками). Проверено, работает на Windows 10. Должен работать на Linux / Mac.
Настроить синхронизацию с S3 при фиксации
bare
репозиторий git для существующего проекта git:ПРИМЕЧАНИЕ: Использование чистого репо будет служить восходящим потоком, а голое репо будет содержать только те изменения, которые вы хотите загрузить в корзину S3, а не игнорируемые файлы, локальные конфигурации git и т. Д.
post-update
вhooks
пустойmyproject.git
каталог.myproject
каталог и добавьте голое репо в качестве восходящего потока, назовите его,s3
например:ПРИМЕЧАНИЕ. Вы можете использовать относительный путь для пути к пустому каталогу.
Тестирование
s3
вы хотите синхронизировать изменения в своей корзине S3, отправьте свои изменения в восходящий поток.Ссылки:
источник
Вы можете использовать сервис deplybot ( http://deploybot.com/ ), который является бесплатным для одного репозитория git.
Вы можете автоматизировать развертывание, выбрав «автоматический» в разделе режима развертывания.
Использую сейчас. Это очень просто и полезно.
источник
контролировать версии ваших файлов с помощью Github? Этот скрипт (и связанные с ним конфигурации GitHub / AWS) примет новые коммиты в ваше репо и синхронизирует их с вашей корзиной S3.
https://github.com/nytlabs/github-s3-deploy
источник
Для этого вам понадобится JGit .
Просто сохраните файл .jgit в каталоге пользователя с учетными данными aws, и вы можете использовать git с s3.
Вот как будет выглядеть ваш URL-адрес git.
Вы можете делать все , что вы делаете с
git
сjgit
.Получите полное руководство по установке здесь.
https://metamug.com/article/jgit-host-git-repository-on-s3.html
источник