Pertanyaan Publikasikan ke S3 menggunakan Git?


Adakah yang tahu cara melakukan ini? Sejauh ini saya belum dapat menemukan sesuatu yang bermanfaat melalui Google.

Saya sangat ingin menyiapkan repo lokal dan penggunaan git push untuk mempublikasikannya ke S3, idenya adalah memiliki kontrol versi lokal atas aset tetapi penyimpanan jarak jauh pada S3.

Bisakah ini dilakukan, dan jika ya, bagaimana caranya?


76
2017-08-11 19:32


asal


Jawaban:


1 Gunakan JGit melalui http://blog.spearce.org/2008/07/using-jgit-to-publish-on-amazon-s3.html

Unduh jgit.sh, ganti namanya menjadi jgit dan letakkan di jalur Anda (misalnya $ HOME / bin).

Atur file konfigurasi .jgit dan tambahkan yang berikut (ganti kunci AWS Anda):

$ vim ~ / .jgit

accesskey: aws access key
secretkey: aws secret access key

Catatan, dengan tidak menentukan acl: publik dalam file .jgit, file git pada S3 akan menjadi pribadi (yang kita inginkan). Selanjutnya, buat bucket S3 untuk menyimpan repositori Anda, sebut saja git-repos, lalu buat repositori git untuk mengunggah:

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

Di atas saya menggunakan alat baris perintah s3cmd untuk membuat keranjang tetapi Anda dapat melakukannya melalui antarmuka web Amazon juga. Sekarang mari kita dorong hingga S3 (perhatikan bagaimana kita menggunakan jgit setiap kali kita berinteraksi dengan S3, dan standar git jika tidak):

jgit push origin master

Sekarang, pergilah ke tempat lain (misalnya cd / tmp) dan coba kloning:

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

Ketika tiba waktunya untuk memperbaruinya (karena jgit tidak mendukung penggabungan atau penarikan), Anda melakukannya dalam 2 langkah:

cd chef-recipes
jgit fetch
git merge origin/master

2 Menggunakan Sistem file berbasis FUSE yang didukung oleh Amazon S3

  1. Dapatkan akun Amazon S3!

  2. Unduh, kompilasi, dan instal. (lihat InstallationNotes)

  3. Tentukan Kredensial Keamanan Anda (Akses ID Kunci & Akses Rahasia Key) dengan salah satu metode berikut:

    • menggunakan opsi baris perintah passwd_file

    • pengaturan variabel lingkungan AWSACCESSKEYID dan AWSSECRETACCESSKEY

    • menggunakan file .passwd-s3fs di direktori home Anda

    • menggunakan file system-wide / etc / passwd-s3fs

    • melakukan hal ini

.

/usr/bin/s3fs mybucket /mnt

Itu dia! isi bucket amazon Anda "mybucket" sekarang harus dapat diakses baca / tulis di / mnt


47
2017-11-08 06:24



Dandelion adalah alat CLI lain yang akan menjaga repositori Git sinkron dengan S3 / FTP / SFTP: http://github.com/scttnlsn/dandelion


9
2018-04-03 20:08



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

Anda hanya harus berlari git-s3 deploy

Muncul dengan semua manfaat dari git repo dan mengunggah / menghapus hanya file yang telah Anda ubah.
Catatan: Penyebaran tidak tersirat melalui git push tetapi Anda dapat melakukannya melalui hook git.


7
2017-07-18 07:04



Kamu dapat memakai mc alias klien Minio, yang ditulis dalam Golang & tersedia di bawah Lisensi Apache Open Source. Ini tersedia untuk Mac, Linux, Windows, FreeBsd. Kamu dapat memakai mc mirror perintah untuk mencapai kebutuhan Anda.

mc Unduh 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

Mengkonfigurasi mc untuk Amazon S3

$ mc config host add mys3 https://s3.amazonaws.com BKIKJAA5BMMU2RHO6IBB V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12
  • Ganti dengan akses / kunci rahasia Anda
  • Secara default mc menggunakan signature version 4 dari amazon S3.
  • mys3 adalah Amazon S3 alias untuk klien minio

Cerminkan direktori / repositori lokal gitub Anda, sebutkan nama mygithub untuk nama bucket amazon S3 mygithubbkp

$ ./mc mirror mygithub mys3/mygithubbkp

Semoga itu membantu Disclaimer: Saya bekerja untuk Minio 


2
2018-03-18 09:29



Anda dapat menggunakan deplybot (http://deploybot.com/) layanan yang bebas biaya untuk repositori git tunggal.

Anda dapat mengotomatiskan penerapan dengan memilih "otomatis" di bagian mode penerapan.

Saya menggunakannya sekarang. Ini sangat mudah dan bermanfaat.


1
2018-01-21 10:40



versi mengontrol file Anda dengan Github? Skrip ini (dan konfigurasi GitHub / AWS terkait) akan mengambil komit baru ke repo Anda dan menyinkronkannya ke bucket S3 Anda.

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


0
2018-04-05 15:14



Anda butuh JGit untuk itu.

Cukup simpan file .jgit di direktori User dengan aws credentials dan Anda dapat menggunakan git dengan s3.

Ini adalah tampilan git url Anda.

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

Anda dapat melakukan semua yang Anda lakukan git dengan jgit.

Dapatkan panduan penyiapan lengkap di sini.

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


0
2018-03-09 15:43