Snippet'larım

Execute remote Node.js file

#script

Özellikle microfrontend mimarisi uygulayan şirketlerde çok fazla proje yönetmeniz gerekir. Kullanılan ortak script'ler de ayrı bir projede tutulur. Dolayısıyla pipeline'daki bir job'dan remote'daki bir dosyayı çalıştırmanız gerekebilir.

İlk yöntem wget ya da curl ile dosya sistemine indirip çalıştırmaktır.

1mkdir -p ./temp
2wget -O ./temp/$FILE_NAME.js --header "PRIVATE-TOKEN:$GITLAB_API_TOKEN" https://gitlab.${HOST_NAME}.com/${FILE_PATH}.js
3node ./temp/$FILE_NAME.js
4rm -rf ./temp

İkinci yöntem ise npx run-url tool'unu kullanmaktır. Dosyayı indirir, require ile belirtilen dependency'leri kurduktan sonra çalıştırır. Ardından dosyayı temizler.

1npx run-url "https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.${HOST_NAME}.com/${FILE_PATH}.js"

Notes

  • İkinci örnekte script private bir Gitlab projesinde tutuluyor. Bu yüzden erişmek için URL'e token eklemeniz gerekir. Aksi halde login sayfasının HTML'ini döndürür.
  • Script içinde Git komutu varsa npx run-url kullanamazsınız. İlk yöntemi kullanarak script'i .git ile aynı dizine indirdiğinizden emin olun.