1 ใช้ JGitผ่านhttp://blog.spearce.org/2008/07/using-jgit-to-publish-on-amazon-s3.html
ดาวน์โหลด jgit.sh เปลี่ยนชื่อเป็น jgit และวางไว้ในเส้นทางของคุณ (เช่น $ HOME / bin)
ตั้งค่าไฟล์ config. jgit และเพิ่มสิ่งต่อไปนี้ (แทนที่คีย์ 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 ใช้ระบบไฟล์แบบ FUSE ที่สนับสนุนโดย Amazon S3
รับบัญชี Amazon S3!
ดาวน์โหลดรวบรวมและติดตั้ง (ดู InstallationNotes)
ระบุข้อมูลรับรองความปลอดภัยของคุณ (รหัสคีย์การเข้าถึงและคีย์การเข้าถึงลับ) โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้:
โดยใช้อ็อพชันบรรทัดคำสั่ง passwd_file
การตั้งค่าตัวแปรสภาพแวดล้อม AWSACCESSKEYID และ AWSSECRETACCESSKEY
โดยใช้ไฟล์. passwd-s3fs ในโฮมไดเร็กทอรีของคุณ
โดยใช้ไฟล์ / etc / passwd-s3fs ทั้งระบบ
ทำเช่นนี้
.
/usr/bin/s3fs mybucket /mnt
แค่นั้นแหละ! เนื้อหาของที่เก็บข้อมูล amazon "mybucket" ของคุณควรสามารถเข้าถึงได้ในขณะนี้อ่าน / เขียนใน / mnt
s3fs
จะเป็นทางออกที่ทำงานได้