เว็บไซต์สำหรับมูลนิธิ Metabrainz นี่คือเว็บแอปพลิเคชั่นบนขวดที่ให้ข้อมูลเกี่ยวกับรากฐานและผู้สนับสนุนรับการบริจาคจากผู้ใช้และองค์กรและให้การเข้าถึงแพ็คเก็ตการจำลองแบบสำหรับ MusicBrainz
เช่นเดียวกับ Pythonbrainz อื่น ๆ ที่เก็บนี้ยังมีการตั้งค่าการกระทำของ GitHub เพื่อช่วยในการเปิดตัว อิมเมจนักเทียบท่าถูกสร้างและผลักไปที่ Docker Hub เมื่อใดก็ตามที่มีการเปิดตัวจาก GitHub ต่อไปนี้เป็นขั้นตอนในการเปิดตัว:
Draft ที่ด้านบน คลิกที่ปุ่ม Edit ถัดไปTag Version ให้ป้อนแท็กที่คุณต้องการให้ติดแท็กภาพ ตัวอย่างเช่นหากคุณป้อน v-2021-06-08.0 เป็นแท็กภาพนักเทียบท่าที่สอดคล้องกันจะเป็น metabrainz/metabrainz:v-2021-06-08.0Publish releaseวิธีที่ง่ายที่สุดในการตั้งค่าเว็บไซต์ Metabrainz เพื่อการพัฒนาคือการใช้ Docker ตรวจสอบให้แน่ใจว่าติดตั้งบนเครื่องของคุณก่อนทำตามคำแนะนำ
การกำหนดค่าแอปจะต้องเก็บไว้ในไฟล์ที่เรียกว่า config.py คุณสามารถใช้ตัวอย่างหนึ่ง ( config.py.example ) และปรับแต่งการกำหนดค่า:
$ cp config.py.example config.py
$ vim config.py
คุณต้องตรวจสอบให้แน่ใจว่ามีการตั้งค่าตัวแปรที่จำเป็น
ในการอนุญาตให้ผู้ใช้เข้าสู่ระบบคุณจะต้องตั้งค่าสองปุ่ม: MUSICBRAINZ_CLIENT_ID และ MUSICBRAINZ_CLIENT_SECRET ในการรับคีย์เหล่านี้คุณต้องลงทะเบียนอินสแตนซ์ของ Metabrainz.org บน MusicBrainz ที่ https://musicbrainz.org/account/applications/register ตั้งค่าฟิลด์ URL การโทรกลับเป็น http://<your host>/login/musicbrainz/post (ถ้า PREFERRED_URL_SCHEME ในไฟล์ config ถูกตั้งค่าเป็น https ตรวจสอบให้แน่ใจว่าคุณระบุโปรโตคอลเดียวกันสำหรับ URL โทรกลับ) หากคุณเรียกใช้เซิร์ฟเวอร์ในเครื่องให้แทนที่ <your host> ด้วย localhost
ถัดไปคือการกำหนดค่าของระบบการชำระเงิน เราใช้ PayPal และ Stripe เพื่อรับการชำระเงินให้กับมูลนิธิของเรา พจนานุกรม paypal_account_ids มีรหัส PayPal หรือที่อยู่อีเมลของบัญชีสำหรับแต่ละสกุลเงินที่รองรับ paypal_business เป็นที่อยู่สำหรับการไม่ได้รับการสนับสนุน; การชำระเงินทั้งหมดที่ส่งจะถูกละเว้น
หลังจากตั้งค่าการตั้งค่าเหล่านี้แล้วและคุณมั่นใจว่าการกำหนดค่าของคุณทำงานอย่างถูกต้องภายในโหมดทดสอบคุณสามารถพลิกสวิตช์ได้ ตั้ง ค่าการดีบัก เป็น False และ การชำระเงิน _production เป็น True คำเตือน! เพื่อวัตถุประสงค์ในการพัฒนาคุณควรใช้การชำระเงินในโหมดดีบักเท่านั้น
แพ็คเก็ตการจำลองแบบจะต้องคัดลอกไปยังไดเรกทอรี. ./data/replication_packets /replication_packets ต้องมีโครงสร้างดังต่อไปนี้:
./data/replication_packets/
- hourly replication packets
คำสั่งนี้จะสร้างและเริ่มบริการทั้งหมดที่คุณจะสามารถใช้สำหรับการพัฒนา:
$ ./develop.sh
ครั้งแรกที่คุณตั้งค่าแอปพลิเคชันฐานข้อมูลจะต้องเริ่มต้น:
$ ./develop.sh manage init-db --create-db
เว็บเซิร์ฟเวอร์ควรเข้าถึงได้ที่ http: // localhost: 80/
เนื่องจากสภาพแวดล้อมการพัฒนาทำงานกับ Docker จึงจำเป็นต้องสร้าง CSS แยกต่างหากจากการสร้างภาพ ในการทำเช่นนั้นคุณต้องเริ่มต้นเซิร์ฟเวอร์การพัฒนา (คอนเทนเนอร์ทั้งหมดที่มี Docker Compose) และแนบไปกับ web คอนเทนเนอร์:
$ ./develop.sh exec -it web bashจากนั้นติดตั้งโมดูล NPM และสร้าง CSS:
web# npm install
web# ./node_modules/.bin/lessc ./metabrainz/static/css/main.less > ./metabrainz/static/css/main.css
web# ./node_modules/.bin/lessc ./metabrainz/static/css/theme/boostrap/boostrap.less > ./metabrainz/static/css/theme/boostrap/boostrap.css
web# ./node_modules/.bin/lessc ./metabrainz/static/fonts/font_awesome/less/font-awesome.less > ./metabrainz/static/fonts/font_awesome/less/font-awesome.cssการสร้างสองครั้งสุดท้ายมีความจำเป็นเฉพาะในกรณีที่คุณวางแผนที่จะใช้อินเทอร์เฟซผู้ดูแลระบบ
เมื่อคุณสร้างและเริ่มบริการทั้งหมดตามที่กล่าวไว้ข้างต้นแล้วให้รัน:
$ ./develop.sh manage extract-strings
ไฟล์หม้อจะถูกรวบรวมโดยอัตโนมัติทุกครั้งที่มีการสร้างบริการ แต่ในกรณีที่คุณทำการเปลี่ยนแปลงไฟล์ POT และต้องการรวบรวมไฟล์การแปลอีกครั้งให้เรียกใช้:
$ ./develop.sh manage compile-translations
เพื่อเรียกใช้การทดสอบทั้งหมดใช้:
$ ./test.sh
ก่อนที่จะทำอะไรตรวจสอบให้แน่ใจว่าตัวแปร PAYMENT_PRODUCTION ในไฟล์กำหนดค่าถูกตั้งค่าเป็น False ! วิธีนี้คุณจะใช้สภาพแวดล้อมการทดสอบที่ไม่ได้เรียกเก็บเงินจากบัตรเครดิตและบัญชีธนาคาร ข้อมูลเพิ่มเติมเกี่ยวกับสภาพแวดล้อมการทดสอบสำหรับแต่ละบริการการชำระเงินสามารถพบได้ในเอกสารประกอบ:
โปรดทราบว่าสำหรับ IPN ในการทำงานแอปพลิเคชันจะต้องเปิดเผยต่อสาธารณะ หากคุณกำลังพัฒนาเครื่องในเครื่องของคุณอาจเป็นไปได้ว่าจุดสิ้นสุดการโทรกลับของคุณจะไม่สามารถเข้าถึงผู้ประมวลผลการชำระเงินได้