OSS Attribution Builder เป็นเว็บไซต์ที่ช่วยให้ทีมสร้างเอกสารการระบุแหล่งที่มาสำหรับผลิตภัณฑ์ซอฟต์แวร์ เอกสารที่มาคือไฟล์ข้อความหน้าเว็บหรือหน้าจอในทุกแอปพลิเคชันซอฟต์แวร์ทุกรายการที่แสดงรายการส่วนประกอบซอฟต์แวร์ที่ใช้และสิทธิ์ใช้งาน พวกเขามักจะอยู่ในหน้าจอเกี่ยวกับและบางครั้งมีการระบุว่า "ประกาศโอเพ่นซอร์ส", "เครดิต" หรือศัพท์แสงที่คล้ายกันอื่น ๆ
ภาพหน้าจอ
docker-compose upadmin เพื่อทดสอบฟังก์ชั่นผู้ดูแลระบบ ดูเอกสาร:
ตัวสร้างแหล่งที่มาเดิมเป็นเครื่องมือของ Amazon-internal บางส่วนจะต้องถูกลบออกเพื่อทำให้โครงการนี้เป็นโครงการโอเพนซอร์สที่สมเหตุสมผล เช่นนี้มีหูดบางส่วน:
สิ่งเหล่านี้จะได้รับการแก้ไขในเวลา แต่โปรดทราบว่าบางสิ่งอาจแปลก ๆ อยู่พักหนึ่ง
หากคุณพร้อมที่จะรวมตัวสร้างแหล่งที่มาเข้ากับสภาพแวดล้อมของคุณเองมีบางสิ่งที่จะตั้งค่า:
เปิด config/default.js และ poke รอบ ๆ การกำหนดค่านี้จะเปิดตัวเมื่อคุณเรียกใช้ docker-compose หรือเรียกใช้แอปพลิเคชัน
ตัวสร้างแหล่งที่มามีการสนับสนุนคำจำกัดความใบอนุญาตสองประเภท:
ตัวระบุ SPDX ใช้สำหรับการเติมใบอนุญาตล่วงหน้า แต่ไม่มี (ปัจจุบัน) มีข้อความ ใบอนุญาตประเภทที่มีประโยชน์มากขึ้นคือใบอนุญาตที่ "รู้จัก" ซึ่ง คุณ (ผู้ดูแลระบบ) จัดหาข้อความของใบอนุญาตและแท็กใด ๆ ที่คุณต้องการสมัคร
สำหรับข้อมูลเกี่ยวกับการเพิ่มใบอนุญาต "ที่รู้จัก" ของคุณเองดูที่ readme ใบอนุญาต มีใบอนุญาตที่มีอยู่สองใบในไดเรกทอรีเดียวกันที่คุณสามารถดูตัวอย่างได้
แท็กช่วยให้คุณเพิ่มกฎการตรวจสอบความถูกต้องโดยพลการลงในใบอนุญาต พวกเขามีประโยชน์สำหรับ:
สำหรับข้อมูลเกี่ยวกับสิ่งที่แท็กสามารถทำและวิธีการสร้างของคุณเองดูแท็ก readme
ตัวสร้างแหล่งที่มามีรูปแบบของส่วนขยายบางอย่างที่ช่วยให้คุณสามารถเปลี่ยนพฤติกรรมและลักษณะที่ปรากฏของไซต์ฝั่งไคลเอ็นต์โดยไม่จำเป็นต้องแก้ไขภายใน สิ่งนี้สามารถทำให้การอัพเกรดง่ายขึ้น
ดูรายละเอียดส่วนขยายสำหรับรายละเอียด
ผู้สร้างแหล่งที่มารองรับความสามารถในการ จำกัด การเข้าถึงคนหรือกลุ่มบางกลุ่มโดยใช้โครงการ ACL สิ่งเหล่านี้สามารถใช้สำหรับการบริหารและเพื่อ "ตรวจสอบ" แพ็คเกจ (รายละเอียดเกี่ยวกับสิ่งนั้นในส่วนต่อมา) การใช้งานเริ่มต้น nullauth ไม่ได้มีประโยชน์มากสำหรับสภาพแวดล้อมส่วนใหญ่ คุณจะต้องเขียนของคุณเองเมื่อเปิดตัวในวงกว้างมากขึ้น
ดูอินเทอร์เฟซ Auth Base สำหรับรายละเอียดการใช้งาน
ในการเริ่มต้นเซิร์ฟเวอร์คุณควรเรียกใช้ build/server/localserver.js หลังจากสร้างด้วย npm run build มีตัวแปรสภาพแวดล้อมบางอย่างที่คุณอาจต้องการตั้งค่าเมื่อทำงาน:
NODE_ENV ควรตั้งค่าเป็นการ production มากที่สุดCONFIG_NAME ควรตั้งค่าเป็น basename (ไม่มีส่วนขยาย) ของไฟล์กำหนดค่าของคุณที่คุณสร้างไว้ด้านบน ค่าเริ่มต้นคือ "เริ่มต้น"เซิร์ฟเวอร์ทำงานใน HTTP เท่านั้น คุณอาจต้องการใส่เว็บเซิร์ฟเวอร์ HTTPS หรือพร็อกซีไว้ข้างหน้า
ดูการมีส่วนร่วมสำหรับข้อมูล
npm install จากนั้น npm run dev จะช่วยให้คุณออกจากพื้นเพื่อการพัฒนาในท้องถิ่น สิ่งนี้จะเริ่มต้นคอนเทนเนอร์ Docker สำหรับ PostgreSQL แต่จะใช้สำเนา TSC, WebPack, โหนด ฯลฯ เพื่อให้คุณสามารถวนซ้ำได้อย่างรวดเร็ว
เมื่อสิ่งต่าง ๆ เริ่มขึ้นแล้วคุณสามารถเปิด http://0.0.0.0:2425/webpack-dev-server/ สิ่งนี้จะโหลดใหม่โดยอัตโนมัติเมื่อมีการเปลี่ยนแปลงเบราว์เซอร์และแบ็กเอนด์จะรีสตาร์ทโดยอัตโนมัติเมื่อมีการเปลี่ยนแปลงฝั่งเซิร์ฟเวอร์โดยอัตโนมัติ
ตัวแปรสภาพแวดล้อมที่มีประโยชน์:
NODE_ENV : เมื่อ unset หรือ development คุณจะได้รับแผนที่เต็มรูปแบบและบันทึกการดีบักDEBUG_SQL : เมื่อตั้งค่า (เป็นอะไร) สิ่งนี้จะแสดงการสืบค้น SQL บนเทอร์มินัลเมื่อพวกเขาดำเนินการ npm test จะเรียกใช้การทดสอบหน่วย เหล่านี้เป็นเซิร์ฟเวอร์ที่เน้นเป็นหลัก
npm run test-ui จะทำการทดสอบซีลีเนียม คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อม SELENIUM_DRIVER หากคุณต้องการไดรเวอร์ที่กำหนดเอง - โดยค่าเริ่มต้นมันจะพยายามใช้ Chrome และหากไม่พร้อมใช้งานมันจะกลับไปที่ Phantomjs
เมื่อทำการดีบักการทดสอบ UI อาจเป็นการง่ายกว่าที่จะเปลี่ยน standalone-chrome เป็น standalone-chrome-debug ใน docker-compose.selenium.yml จากนั้นเชื่อมต่อกับคอนเทนเนอร์ผ่าน VNC (พอร์ต 5900 รหัสผ่าน "ความลับ") เรียกใช้คอนเทนเนอร์และการทดสอบของคุณแยกกัน:
docker-compose -f docker-compose.selenium.yml up --buildtsc && jasmine --stop-on-failure=true 'build/selenium/*.spec.js' การทดสอบล้มเหลวโดยไม่มีเหตุผล? driver.sleep ไม่ทำงาน? ตรวจสอบให้แน่ใจว่าการหมดเวลาดอกมะลิของคุณในการทดสอบของคุณสูงพอ