Apakah ada yang tahu bagaimana melakukan ini? Sejauh ini saya belum dapat menemukan sesuatu yang berguna melalui Google.
Saya benar-benar ingin menyiapkan repo lokal dan menggunakannya git push
untuk menerbitkannya ke S3, idenya adalah untuk memiliki kontrol versi lokal atas aset tetapi penyimpanan jarak jauh di S3.
Bisakah ini dilakukan, dan jika ya, bagaimana?
s3fs
menjadi solusi yang layak.s3cmd sync …
?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).
Siapkan file konfigurasi .jgit dan tambahkan yang berikut ini (menggantikan kunci AWS Anda):
$ vim ~ / .jgit
Catatan, dengan tidak menentukan acl: public di file .jgit, file git di S3 akan menjadi privat (yang kami inginkan). Selanjutnya buat bucket S3 untuk menyimpan repositori Anda, sebut saja git-repos, lalu buat repositori git untuk diunggah:
Di atas saya menggunakan alat baris perintah s3cmd untuk membuat ember tetapi Anda dapat melakukannya melalui antarmuka web Amazon juga. Sekarang mari kita dorong ke S3 (perhatikan bagaimana kita menggunakan jgit setiap kali kita berinteraksi dengan S3, dan git standar sebaliknya):
Sekarang pergilah ke tempat lain (misalnya cd / tmp) dan coba kloning:
Ketika tiba saatnya untuk memperbaruinya (karena jgit tidak mendukung penggabungan atau penarikan) Anda melakukannya dalam 2 langkah:
2 Gunakan sistem file berbasis FUSE yang didukung oleh Amazon S3
Dapatkan akun Amazon S3!
Unduh, kompilasi, dan instal. (lihat Catatan Instalasi)
Tentukan Kredensial Keamanan Anda (Access Key ID & Secret Access Key) dengan salah satu metode berikut:
menggunakan opsi baris perintah passwd_file
menyetel variabel lingkungan AWSACCESSKEYID dan AWSSECRETACCESSKEY
menggunakan file .passwd-s3fs di direktori home Anda
menggunakan file system-wide / etc / passwd-s3fs
melakukan hal ini
.
Itu dia! konten dari bucket amazon Anda "mybucket" sekarang seharusnya dapat diakses dengan membaca / menulis di / mnt
sumber
The request signature we calculated does not match the signature you provided. Check your key and signing method
kesalahan saat mencobajgit push origin master
. Ada ide bagaimana saya bisa menghilangkannya?post-receive
pengait yang memeriksaGIT_WORK_TREE
. Lihat di sini untuk lebih jelasnya. Saya akhirnya mendapatkan ini untuk bekerja dengan cukup baiks3fs
. Sangat direkomendasikan dan terima kasih telah membantu saya memulai.Dandelion adalah alat CLI lain yang akan menjaga repositori Git tetap sinkron dengan S3 / FTP / SFTP: http://github.com/scttnlsn/dandelion
sumber
git-s3 - https://github.com/schickling/git-s3
Anda hanya harus lari
git-s3 deploy
Muncul dengan semua manfaat dari git repo dan mengunggah / menghapus hanya file yang telah Anda ubah.
Catatan: Penerapan tidak tersirat melalui git push, tetapi Anda dapat melakukannya melalui git hook.
sumber
Composer
, yang pada gilirannya tergantungPHP
.Anda dapat menggunakan mc alias Minio client , yang ditulis dalam Golang & tersedia di bawah Lisensi Apache Sumber Terbuka. Ini tersedia untuk Mac, Linux, Windows, FreeBsd. Anda dapat menggunakan
mc mirror
perintah untuk mencapai kebutuhan Anda.mc GNU / Linux Unduh
Mengonfigurasi mc untuk Amazon S3
Cerminkan repositori / direktori lokal github Anda, katakan nama
mygithub
ke nama bucket Amazon S3mygithubbkp
Semoga membantu Penafian: Saya bekerja untuk Minio
sumber
Anda juga dapat melakukan ini menggunakan AWS CLI dan Git (dengan pengait). Diverifikasi berfungsi pada Windows 10. Seharusnya berfungsi di Linux / Mac.
Atur Sinkronisasi ke S3 saat komit
bare
repo git baru dari proyek git Anda yang sudah ada:CATATAN: Menggunakan bare repo akan berfungsi sebagai upstream dan bare repo hanya akan memiliki perubahan yang ingin Anda unggah ke S3 bucket dan tidak mengabaikan file, konfigurasi git lokal, dll.
post-update
menjadihooks
satu telanjangmyproject.git
direktori.myproject
direktori Anda dan tambahkan repo telanjang sebagai upstream, beri namas3
misalnya:CATATAN: Anda dapat menggunakan jalur relatif untuk jalur ke direktori telanjang.
Menguji
s3
upstream saat Anda ingin menyinkronkan perubahan ke bucket S3 Anda.Referensi:
sumber
Anda dapat menggunakan layanan deplybot ( http://deploybot.com/ ) yang gratis untuk satu repositori git.
Anda dapat mengotomatiskan penerapan dengan memilih "otomatis" di bagian mode penerapan.
Saya sedang menggunakannya sekarang. Sangat mudah dan bermanfaat.
sumber
versi mengontrol file Anda dengan Github? Skrip ini (dan konfigurasi GitHub / AWS yang terkait) akan mengambil komit baru ke repo Anda dan menyinkronkannya ke bucket S3 Anda.
https://github.com/nytlabs/github-s3-deploy
sumber
Anda membutuhkan JGit untuk itu.
Simpan saja file .jgit di direktori Pengguna dengan kredensial aws dan Anda dapat menggunakan git dengan s3.
Seperti inilah tampilan url git Anda.
Anda dapat melakukan semua yang Anda lakukan
git
denganjgit
.Dapatkan panduan penyiapan lengkap di sini.
https://metamug.com/article/jgit-host-git-repository-on-s3.html
sumber