Jẹ́ kí npm yan registry nípasẹ̀ scope ti package, kì í ṣe VPN
Ìforúkọsílẹ̀ scope kan ń fi àwọn package ilé-iṣẹ́ ránṣẹ́ sí registry àdáni, ó sì fi gbogbo ohun mìíràn síta fún gbogbo ènìyàn. Ìtọ́nisọ́nà, àwọn ẹ̀rí àti ipò àkọ́kọ́ jẹ́ ìpinnu mẹ́ta mìíràn.
Sísopọ̀ VPN kò gbọdọ̀ túmọ̀ sí yíyí ìtòlẹ́sẹẹsẹ registry ti npm padà lẹ́ẹ̀mejì lójúmọ́. Ìforúkọsílẹ̀ scope kan nínú fáìlì ìtòlẹ́sẹẹsẹ ní ìpele iṣẹ́-àpapọ̀ lè fi àwọn package ilé-iṣẹ́ ránṣẹ́ sí registry kan, kí ó sì fi gbogbo ohun mìíràn sí ti gbogbo ènìyàn, láìyí padà àti láìsí override tí ó kù fún ọ̀sán Friday. Ìdìnnọ́ ni pé èyí ń yanjú ìfúnni-lórúkọ nìkan; ìtọ́nisọ́nà, àwọn ẹ̀rí àti ipò àkọ́kọ́ ìtòlẹ́sẹẹsẹ jẹ́ ohun mẹ́ta ọ̀tọ̀ọ̀tọ̀ tí ọ̀kọ̀ọ̀kan wọn kùnà ní ọ̀nà tirẹ̀.
Orúkọ méjì, ibi méjì
Orúkọ package npm ní scope tàbí kò ní. Orúkọ tí ó ní scope bẹ̀rẹ̀ pẹ̀lú àmì at àti ìdánimọ̀ scope, ìdánimọ̀ yẹn sì ni ohun tí ìtòlẹ́sẹẹsẹ lè ṣe àwòrán rẹ̀. Kò sí ohun mìíràn nípa package tí ó ṣe pàtàkì fún àwòrán náà. Registry kì í rí ìbéèrè tí ó dá lórí bóyá package jẹ́ ti inú tàbí ti gbogbo ènìyàn; orúkọ nìkan ni ó rí.
Nítorí náà fáìlì tí ó wà nísàlẹ̀ ń fi èrò méjì hàn ní ìlà mẹ́ta: àwọn package ti gbogbo ènìyàn ń lọ sí registry ti gbogbo ènìyàn, àwọn package tí ó wà lábẹ́ scope ilé-iṣẹ́ sì ń lọ sí registry ilé-iṣẹ́ pẹ̀lú token fún host yẹn.
registry=https://registry.npmjs.org/
@acme:registry=https://packages.corp.example/
//packages.corp.example/:_authToken=${NPM_TOKEN}
Rọ́pò scope, host àti orúkọ àfọwọ́kọ pẹ̀lú ohun tí àjọ náà ń pèsè ní tòótọ́. Ìṣètò ni ohun tí ó ṣe pàtàkì, kì í ṣe àwọn iye àpẹẹrẹ. Ìlà méjì ti ìtòlẹ́sẹẹsẹ ń gbé gbogbo ìlànà, ìdí nìyẹn tí ó fi yẹ kí a lóye wọn dípò kíkọ wọn.
Pa àwòrán àti nẹ́tíwọ́kì mọ́ ní yàrá ọ̀tọ̀ọ̀tọ̀ nínú ọkàn rẹ. Ìforúkọsílẹ̀ scope kan kò lè mú host tí a kò lè dé dé, tunnel tí ń ṣiṣẹ́ sì kò lè sọ fún npm irú registry tí package jẹ́ ti rẹ̀.
Kọ fáìlì náà ní ìtòlẹ́sẹẹsẹ tí ó tọ́
Fi fáìlì iṣẹ́-àpapọ̀ sí ipò àkọ́kọ́ nínú ìrònú rẹ bí ó tilẹ̀ jẹ́ pé npm ń ka ọ̀pọ̀ fáìlì. .npmrc nínú àkójọpọ̀ iṣẹ́-àpapọ̀ ni èyí tí àwọn ẹlẹgbẹ́ rẹ ń jogún nípasẹ̀ repository, nítorí náà ó gbọdọ̀ fi ìlànà àjọṣe hàn kì í ṣe token àdáni rẹ. Fáìlì yẹn pẹ̀lú ni olùyẹ̀wò yóò kà. Jẹ́ kí ó kéré tó láti yẹ̀wò ní ìwò kan.
Fi ìlà registry àìpẹ́-àìpẹ́ sílẹ̀ tí ó ń tọ́ka sí registry ti gbogbo ènìyàn àyàfi tí àjọ náà bá pinnu bẹ́ẹ̀ kọ́. Yíyọ ọ́ kúrò ń jẹ́ kí ẹ̀rọ náà gbára lé ohun tí fáìlì ìpele olùlò sọ, èyí sì jẹ́ irú ìgbẹ́kẹ̀lé àṣírí yẹn gan-an tí ń mú àbájáde ọ̀tọ̀ọ̀tọ̀ wá lórí kọ̀mpútà méjì.
Ìlà scope kì í ṣe àmì àròpọ̀. Orúkọ tí ó wà ní òde scope ń tẹ̀síwájú lílo àìpẹ́-àìpẹ́, èyí sì ni ìhùwàsí tí o fẹ́ fún gbogbo ìgbẹ́kẹ̀lé tí ìwọ kò kọ fúnra rẹ.
Ṣàyẹ̀wò ohun tí fáìlì náà ń yanjú sí kí o tó commit, ní lílo orúkọ package àfẹ́yẹ̀wò dípò ìfiṣe-ọ́ sórí ẹ̀rọ gidi, kí àṣìṣe kan má baà ná ohunkóhun.
Àwọn ẹ̀rí jẹ́ ti host, kì í ṣe ti iṣẹ́-àpapọ̀
Àwọn ìforúkọsílẹ̀ ìjẹ́rìí ni a so mọ́ host registry kan àti, níbi tí registry bá nílò rẹ̀, mọ́ ọ̀nà kan. Ìdí nìyẹn tí ìlà token fi bẹ̀rẹ̀ pẹ̀lú slash ìlọ́po méjì àti host dípò scope. Ní kété tí o bá rí host ní ipò yẹn, ìyókù ìlà náà kò ní dà bí àmì ìkọ̀wé àìdá mọ́. Adírẹ́sì ni, token sì so mọ́ ọn.
Lílo àfọwọ́kọ àyíká ń pa token gidi mọ́ ní òde fáìlì tí ó wà nínú repository. Kì í jẹ́ kí token di aláìrí ní gbogbo ibi; ó ṣì ń farahàn nínú àyíká ìlànà, àti pé àṣẹ tí ń tẹ̀ ìtòlẹ́sẹẹsẹ jáde lè ṣí i payá.
Pèsè àfọwọ́kọ náà nípasẹ̀ èyíkéyìí ọ̀nà ẹ̀rí àdúgbò tàbí CI tí àjọ náà fọwọ́ sí, kí o má sì fi token gidi kàn mọ́ àpẹẹrẹ tí a lè dà sínú ìwé àkọsílẹ̀.
Tí registry méjì bá wà lójú pẹ̀lú, ọ̀kọ̀ọ̀kan wọn yóò gba ìforúkọsílẹ̀ tirẹ̀. Ìtòlẹ́sẹẹsẹ token kan ṣoṣo tí kò tóótọ́ jẹ́ àìdánilójú ní ipò tí ó dára jù, tí ó sì ń ránṣẹ́ sí host tí kò tọ́ ní ipò tí ó burú jù.
Nígbà tí registry tí kò tọ́ bá ṣẹ́gun
Ìtòlẹ́sẹẹsẹ wà ní àwọn ìpele, iye tí ń ṣiṣẹ́ kò sì ní láti jẹ́ iye tí ó wà nínú fáìlì tí o ṣẹ̀ṣẹ̀ yí padà. Àwọn ìtòlẹ́sẹẹsẹ iṣẹ́-àpapọ̀, ti olùlò, ti àgbáyé àti àwọn àfọwọ́kọ àyíká gbogbo wọn ń kópa. Ìpele yẹn ni ìdí tí àtúnṣe fi ń ṣiṣẹ́ lórí ẹ̀rọ rẹ tí kò sì ṣiṣẹ́ nínú container ẹlẹgbẹ́ rẹ. Ìdí nìyẹn pẹ̀lú tí ó fi yẹ kí a tẹ̀ iye tí ń ṣiṣẹ́ jáde kí a tó jiyàn nípa rẹ̀.
Àfọwọ́kọ àyíká ni ẹlẹ́ṣẹ̀ tí ó wọ́pọ̀ nínú CI, níbi tí iṣẹ́ kan ti ṣètò registry lẹ́ẹ̀kan tí gbogbo ìgbésẹ̀ tí ó tẹ̀le sì ń jogún rẹ̀. Èyí tí ó wọ́pọ̀ kejì ni fáìlì ìpele olùlò lórí ẹ̀rọ olùgbéwò tí ń pa ohun tí repository sọ rẹ́.
Tẹ ìtòlẹ́sẹẹsẹ tí ń ṣiṣẹ́ àti registry tí a yanjú jáde fún orúkọ kan tí ó ní scope àti ọ̀kan tí kò ní kí o tó ṣe àtúnṣe ohunkóhun mìíràn. Tí àwọn ìdáhùn méjì yẹn bá jẹ́ ohun tí o retí, ìṣòro náà wà nínú nẹ́tíwọ́kì; tí kò bá rí bẹ́ẹ̀, ìṣòro náà wà nínú ìtòlẹ́sẹẹsẹ àti pé iṣẹ́ VPN kankan kò ní ràn ọ́ lọ́wọ́.
Àkójọ àyẹ̀wò kí o tó commit
Jẹ́rìí pé orúkọ scope bá àwọn package tí a tẹ̀ jáde gidi mu, pé registry àìpẹ́-àìpẹ́ wà ní kedere, àti pé ìlà token dárúkọ host tí ó tọ́. Àṣìṣe títẹ̀ nínú scope ń mú ìkùnà tí ó yani jùlọ nínú gbogbo rẹ̀ wá, nítorí pé package ń yanjú láti registry ti gbogbo ènìyàn tí ó sì ń dá module ẹlòmíràn pẹ̀lú orúkọ kan náà padà. Ṣàyẹ̀wò orúkọ náà kí o tó ṣe àtúnṣe token.
Jẹ́rìí pé a lè dé registry àdáni láti orí ẹ̀rọ nínú ipò tí ń ṣe ìfiṣe-ọ́ sórí ẹ̀rọ, kì í ṣe láti browser rẹ nìkan. Ìyàtọ̀ yẹn ṣe pàtàkì nígbà tí proxy tàbí container bá ní ọ̀nà tí ó yàtọ̀ sí shell rẹ.
Lẹ́yìn náà jẹ́rìí ìhùwàsí lórí checkout mímọ́ tí kò ní àwọn package tí a fi pamọ́. Ìfiṣe-ọ́ sórí ẹ̀rọ tuntun ni ìdánwò kan ṣoṣo tí ń fi ohun tí ẹlẹgbẹ́ tuntun yóò ní ìrírí hàn.