मेरे पास एक नोड ऐप है जिसे मैं गिटलैब के माध्यम से तैनात कर रहा हूं। मैं डोकर इमेज node:12.8.0 का उपयोग कर रहा हूं।

हाल ही में यह निम्न त्रुटि के साथ परिनियोजन में विफल रहा है

 $ dpl --provider=heroku --app=$HEROKU_DEVELOPMENT_APP --api-key=$HEROKU_API_KEY --skip-cleanup
 Installing deploy dependencies
 ERROR:  Error installing dpl-heroku:
     faraday requires Ruby version >= 2.4.
 Successfully installed multipart-post-2.1.1
 Successfully installed ruby2_keywords-0.0.2
 /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- dpl/provider/heroku (LoadError)
     from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
     from /var/lib/gems/2.3.0/gems/dpl-1.10.15/lib/dpl/provider.rb:93:in `rescue in block in new'
     from /var/lib/gems/2.3.0/gems/dpl-1.10.15/lib/dpl/provider.rb:68:in `block in new'
     from /var/lib/gems/2.3.0/gems/dpl-1.10.15/lib/dpl/cli.rb:41:in `fold'
     from /var/lib/gems/2.3.0/gems/dpl-1.10.15/lib/dpl/provider.rb:67:in `new'
     from /var/lib/gems/2.3.0/gems/dpl-1.10.15/lib/dpl/cli.rb:31:in `run'
     from /var/lib/gems/2.3.0/gems/dpl-1.10.15/lib/dpl/cli.rb:7:in `run'
     from /var/lib/gems/2.3.0/gems/dpl-1.10.15/bin/dpl:5:in `'
     from /usr/local/bin/dpl:22:in `load'
     from /usr/local/bin/dpl:22:in `'
 Running after_script
 00:01
 Running after script...
 $ echo "Job - $CI_JOB_NAME ended."
 Job - deploy_development ended.
 Cleaning up file based variables
 00:01
 ERROR: Job failed: exit code 1

मैं रूबी2.4 को apt-get install ruby2.4 के माध्यम से स्थापित करने में असमर्थ हूं।

किसी भी सलाह की सराहना की जाएगी। धन्यवाद

2
Devatanu 19 अक्टूबर 2020, 09:22

1 उत्तर

सबसे बढ़िया उत्तर

मुझे आज Gitlab CI में भी यही समस्या थी।

समस्या यह है कि नोड डेबियन खिंचाव (संस्करण 9) डिफ़ॉल्ट रूप से docker छवियों के लिए आधार के रूप में, कम से कम 12.x LTS संस्करणों में। डेबियन के इस संस्करण में रूबी 2.3.3 डिफ़ॉल्ट रूप से रिपॉजिटरी में है, जो इसके द्वारा समर्थित नहीं है फैराडे, जिसके लिए 2.4 के बराबर या उससे अधिक संस्करण की आवश्यकता है।

मैंने जो किया वह 12.x-बस्टर टैग (संस्करण टैग के अंत में -buster पर ध्यान दें) का उपयोग किया गया था और डॉकर नोड की इन छवियों में आधार के रूप में डेबियन बस्टर (संस्करण 10) का उपयोग करता है। डेबियन के इस संस्करण में रूबी 2.5.5 डिफ़ॉल्ट रूप से रिपॉजिटरी है, जो फैराडे को स्थापित करने की अनुमति देता है और इसलिए उसकेोकू के लिए डीपीएल सामान्य रूप से काम करता है।

4
Cristiam Mercado 19 अक्टूबर 2020, 15:34