গিটল্যাব সিআই - রিমোট সার্ভারে এসএসএইচ এর মাধ্যমে মোতায়েন করুন


12

সংকলিত ফাইলগুলি সম্পর্কে সাক্ষ্য দেওয়ার জন্য এবং প্রোডাকশন সার্ভারে আরএসসিএনসি-র মাধ্যমে অনুলিপি করার জন্য একটি নতুন প্রকল্পের জন্য আমার কাছে গিটল্যাব পরিবেশ রয়েছে it

এই সংস্থাগুলির বিল্ডিংটি নির্বাহ করা হয়েছে এমন মেশিনটি ডকারের একটি চিত্র (নোড 6), তবে এখন আমাকে সেই ধারক ডকার কমান্ড থেকে লিনাক্স ব্যবহার করে সার্ভারে ফলাফলগুলি ফাইলগুলি অনুলিপি করতে হবে ... আমার সমস্যাটি হচ্ছে এসএসএসের মাধ্যমে সংযোগ স্থাপন করা through rsync।

বর্তমানে আমার কাছে নিম্নলিখিতগুলি রয়েছে:

stages:
  - deploy

before_script:
    - npm i
    - npm run build

job_deploy:
  stage: deploy
  script:
    - ssh-keygen -t rsa -b 4096 -C '' -f ~/.ssh/deploy_rsa
    - ssh-keyscan -H 8.8.8.8 >> ~/.ssh/known_hosts
    - ssh-copy-id -i ~/.ssh/deploy_rsa.pub $SERVER_USER@8.8.8.8
    - rsync -avuz $CI_PROJECT_DIR/dist/ $SERVER_USER@8.8.8.8:/var/wwww/example.com
  only:
    - master

এর মাধ্যমে আমি পাচ্ছি:

    /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
    /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
    Permission denied, please try again.
    Permission denied, please try again.
    Permission denied (publickey,password).

3
তাদের এমন কিছু যা আমি এখানে সীমাহীন করি না: আপনি প্রতিটি বিল্ড ইন্ডি'তে ফ্লাইতে একটি নতুন ssh কী তৈরি করছেন? আপনি পাব কী ব্যবহার করার জন্য পিএসডাব্লিউডিতে ssh leys ব্যবহার করার বিন্দুটি কোথায়?
lrkwz

@Lrkwz এর মতো আমিও প্রতিটি বিল্ডে একটি নতুন কী প্রেরণের পয়েন্টটি মিস করছি, যখন আপনাকে যেভাবেই পাসওয়ার্ড জিজ্ঞাসা করা হবে। এছাড়াও, আমি রিমোট সার্ভারে অনুমোদিত_কিগুলি ফাইলটি দেখতে পছন্দ করব ...
ফ্যাবিও ডিউক সিলভা

উত্তর:


3

ssh-copy-id একটি পাসওয়ার্ড চাইছে। আপনি sshpass -eগিটলাবে এসএসএইচপিএএসএস এনভায়রনমেন্ট ভেরিয়েবলটি সেট এবং সেট করতে পারেন ।


আপনি একটি উদাহরণ যোগ করতে পারেন?
যশু মিতল

1

আপনি আরএসসিএন-তে ssh কীটি পাস করছেন না। আপনার এই জাতীয় কিছু করা উচিত যা ssh কী সঠিকভাবে সনাক্ত করতে ssh কমান্ড কার্যকর করে:

rsync -avuz -e 'ssh -i ~/.ssh/deploy_rsa' $CI_PROJECT_DIR/dist/ $SERVER_USER@8.8.8.8:/var/wwww/example.com
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.