Alguém sabe como fazer isso? Até agora não consegui encontrar nada útil no Google.
Eu realmente gostaria de configurar um repositório local e usá git push
-lo para publicá-lo no S3, a ideia é ter controle de versão local sobre ativos, mas armazenamento remoto no S3.
Isso pode ser feito? Se sim, como?
s3fs
ser uma solução viável.s3cmd sync …
?Respostas:
1 Use JGit via http://blog.spearce.org/2008/07/using-jgit-to-publish-on-amazon-s3.html
Baixe jgit.sh, renomeie-o para jgit e coloque-o em seu caminho (por exemplo $ HOME / bin).
Configure o arquivo de configuração .jgit e adicione o seguinte (substituindo suas chaves AWS):
$ vim ~ / .jgit
Observe que, ao não especificar acl: public no arquivo .jgit, os arquivos git no S3 serão privados (que é o que queríamos). Em seguida, crie um intervalo S3 para armazenar seu repositório, vamos chamá-lo de git-repos e, em seguida, crie um repositório git para fazer upload:
Acima, estou usando a ferramenta de linha de comando s3cmd para criar o intervalo, mas você também pode fazer isso por meio da interface da Web da Amazon. Agora vamos colocá-lo no S3 (observe como usamos o jgit sempre que interagimos com o S3, e o git padrão, caso contrário):
Agora vá para outro lugar (por exemplo, cd / tmp) e tente cloná-lo:
Quando chegar a hora de atualizá-lo (porque jgit não oferece suporte a merge ou pull), você o faz em 2 etapas:
2 Use o sistema de arquivos baseado em FUSE apoiado pelo Amazon S3
Obtenha uma conta Amazon S3!
Baixe, compile e instale. (veja notas de instalação)
Especifique suas credenciais de segurança (ID da chave de acesso e chave de acesso secreta) por um dos seguintes métodos:
usando a opção de linha de comando passwd_file
definir as variáveis de ambiente AWSACCESSKEYID e AWSSECRETACCESSKEY
usando um arquivo .passwd-s3fs em seu diretório inicial
usando o arquivo / etc / passwd-s3fs de todo o sistema
faça isso
.
É isso aí! o conteúdo do seu balde amazon "mybucket" agora deve estar acessível para leitura / gravação em / mnt
fonte
The request signature we calculated does not match the signature you provided. Check your key and signing method
erro quando tentojgit push origin master
. Alguma ideia de como posso fazer isso desaparecer?post-receive
gancho que verifica oGIT_WORK_TREE
. Veja aqui para mais detalhes. Acabei fazendo com que isso funcionasse muito bems3fs
. Altamente recomendado e obrigado por me ajudar a começar.Dandelion é outra ferramenta CLI que manterá os repositórios Git sincronizados com S3 / FTP / SFTP: http://github.com/scttnlsn/dandelion
fonte
git-s3 - https://github.com/schickling/git-s3
Você só tem que correr
git-s3 deploy
Ele vem com todos os benefícios de um repo git e uploades / deleta apenas os arquivos que você alterou.
Observação: as implantações não estão implícitas por meio de git push, mas você pode conseguir isso por meio de um gancho git.
fonte
Composer
, que por sua vez dependePHP
.Você pode usar o cliente mc também conhecido como Minio , escrito em Golang e disponível sob a licença Apache de código aberto. Ele está disponível para Mac, Linux, Windows, FreeBsd. Você pode usar o
mc mirror
comando para atingir seu requisito.Download mc GNU / Linux
Configurando mc para Amazon S3
Espelhe o seu repositório / diretório local do github, diga o nome
mygithub
para o nome do bucket do Amazon S3mygithubbkp
Espero que ajude Disclaimer: I work for Minio
fonte
Você também pode fazer isso usando o AWS CLI e Git (com ganchos). Verificado em funcionamento em Windows 10. Deve funcionar em Linux / Mac.
Configure a sincronização para S3 na confirmação
bare
repositório git de seu projeto git existente:NOTA: Usar um repositório básico servirá como o upstream e o repo básico terá apenas as alterações que você deseja enviar para o balde S3 e não os arquivos ignorados, configurações git locais, etc.
post-update
no diretóriohooks
vaziomyproject.git
.myproject
diretório e adicione o repositório básico como um upstream, nomeie-os3
por exemplo:NOTA: Você pode usar um caminho relativo para o caminho do diretório vazio.
Testando
s3
upstream quando quiser sincronizar as alterações com seu bucket S3.Referências:
fonte
Você pode usar o serviço deplybot ( http://deploybot.com/ ) que é gratuito para um único repositório git.
Você pode automatizar a implantação escolhendo "automático" na seção de modo de implantação.
Estou usando agora. É muito fácil e útil.
fonte
controle de versão de seus arquivos com o Github? Este script (e suas configurações GitHub / AWS associadas) pegará novos commits em seu repo e os sincronizará em seu bucket S3.
https://github.com/nytlabs/github-s3-deploy
fonte
Você precisa do JGit para isso.
Basta salvar um arquivo .jgit no diretório do usuário com as credenciais do aws e você pode usar o git com s3.
Aqui está a aparência do seu url git.
Você pode fazer tudo que você faz com
git
comjgit
.Obtenha um guia de configuração completo aqui.
https://metamug.com/article/jgit-host-git-repository-on-s3.html
fonte