OSS Atribution Builder adalah situs web yang membantu tim membuat dokumen atribusi untuk produk perangkat lunak. Dokumen atribusi adalah file teks, halaman web, atau layar di hampir setiap aplikasi perangkat lunak yang mencantumkan komponen perangkat lunak yang digunakan dan lisensi mereka. Mereka sering berada di layar tentang tentang, dan kadang -kadang diberi label "pemberitahuan open source", "kredit", atau jargon serupa lainnya.
Tangkapan layar
docker-compose upadmin untuk menguji fungsionalitas admin. Lihat Dokumentasi:
Pembuat atribusi awalnya adalah alat Amazon-Internal. Beberapa porsi harus dilepas untuk menjadikan ini proyek open source yang masuk akal. Karena itu, ada beberapa kutil:
Ini semua akan diperbaiki tepat waktu, tetapi menyadari bahwa beberapa hal mungkin aneh untuk sementara waktu.
Jika Anda siap untuk mengintegrasikan pembangun atribusi ke dalam lingkungan Anda sendiri, ada beberapa hal untuk diatur:
Buka konfigurasi/default.js dan singkirkan. Konfigurasi ini diluncurkan saat Anda menjalankan docker-compose atau meluncurkan aplikasi.
Pembuat atribusi memiliki dukungan untuk dua jenis definisi lisensi:
Identifier SPDX hanya digunakan untuk mempekerjakan pemilih lisensi, tetapi tidak (saat ini) memiliki teks. Jenis lisensi yang lebih berguna adalah lisensi "diketahui", di mana Anda (administrator) menyediakan teks lisensi dan tag apa pun yang ingin Anda terapkan.
Untuk informasi tentang menambahkan lisensi "diketahui" Anda sendiri, lihat readme lisensi. Ada dua lisensi yang ada di direktori yang sama dengan yang dapat Anda lihat sebagai contoh.
Tag memungkinkan Anda untuk menambahkan aturan validasi sewenang -wenang ke lisensi. Mereka bisa berguna untuk:
Untuk informasi tentang apa yang dapat dilakukan tag dan cara membuat sendiri, lihat tag readme.
Pembuat atribusi menawarkan beberapa bentuk ekstensi yang memungkinkan Anda mengubah perilaku dan penampilan situs sisi klien, tanpa perlu menambal internal. Ini dapat membuat peningkatan lebih mudah.
Lihat Extensions Readme untuk detailnya.
Pembuat atribusi mendukung untuk membatasi akses ke orang atau kelompok tertentu yang menggunakan ACL proyek. Ini juga dapat digunakan untuk administrasi dan untuk "memverifikasi" paket (detail tentang itu di bagian selanjutnya). Implementasi default nullauth tidak terlalu berguna untuk sebagian besar lingkungan; Anda ingin menulis sendiri saat meluncurkan lebih luas.
Lihat antarmuka AUTH BASE untuk detail implementasi.
Untuk memulai server, Anda harus menjalankan build/server/localserver.js setelah membangun dengan npm run build . Ada beberapa variabel lingkungan yang mungkin ingin Anda atur saat menjalankan:
NODE_ENV kemungkinan besar harus diatur ke productionCONFIG_NAME harus diatur ke Basename (tidak ada ekstensi) dari file konfigurasi yang Anda buat di atas. Standarnya adalah "default".Server hanya berjalan di HTTP. Anda mungkin ingin meletakkan server web HTTPS tipis atau proxy di depannya.
Lihat berkontribusi untuk informasi.
npm install dan kemudian npm run dev akan membuat Anda keluar untuk pengembangan lokal. Ini akan memulai wadah Docker untuk PostgreSQL, tetapi akan menggunakan salinan lokal TSC, Webpack, Node, dll sehingga Anda dapat mengulangi dengan cepat.
Setelah semuanya dimulai, Anda dapat membuka http://0.0.0.0:2425/webpack-dev-server/. Ini secara otomatis akan memuat ulang perubahan browser, dan backend juga akan secara otomatis restart pada perubahan sisi server.
Variabel lingkungan yang berguna:
NODE_ENV : Saat tidak diatur atau development , Anda akan mendapatkan peta sumber lengkap & log debugDEBUG_SQL : Saat disetel (ke apapun), ini akan menampilkan kueri SQL di terminal saat mereka mengeksekusi npm test akan menjalankan tes unit. Ini terutama difokuskan pada server.
npm run test-ui akan menjalankan tes selenium. Anda dapat mengatur variabel lingkungan SELENIUM_DRIVER jika Anda menginginkan driver khusus - secara default, itu akan mencoba menggunakan chrome, dan jika itu tidak tersedia itu akan kembali ke phantomjs.
Saat men-debug uji UI, mungkin lebih mudah untuk mengubah standalone-chrome menjadi standalone-chrome-debug di docker-compose.selenium.yml , dan kemudian terhubung ke wadah melalui VNC (port 5900, kata sandi "rahasia"). Jalankan wadah dan tes Anda secara terpisah:
docker-compose -f docker-compose.selenium.yml up --buildtsc && jasmine --stop-on-failure=true 'build/selenium/*.spec.js' Tes yang gagal karena tidak ada alasan? driver.sleep tidak berfungsi? Pastikan timeout melati Anda pada tes Anda cukup tinggi.