সার্কেলসিআই-তে পরীক্ষামূলক ডকার বৈশিষ্ট্যগুলি কীভাবে চালানো যায়


12

যখন সার্কেলসিআই-তে কোনও বিল্ড শুরু করা হয় তখন প্রথম কাজগুলির মধ্যে একটি হল:

রিমোট ডকার ইঞ্জিন সেটআপ করুন

Specified reusable docker engine, but build has not been whitelisted.
Contact CircleCI to be whitelisted
Allocating a remote Docker Engine
...
Remote Docker engine created. Using VM 'prealloc-wrjtu1qd-1491949826270'
Created container accessible with:
  DOCKER_TLS_VERIFY=1
  DOCKER_HOST=tcp://<IP>:2376
  DOCKER_CERT_PATH=/tmp/docker-certs615987123
  DOCKER_MACHINE_NAME=51123

পরবর্তীকালে যখন docker build --squash -t imagename .সার্কেলসিআইতে চালিত হয় তখন এর ফলাফল হয়:

Error response from daemon: squash is only supported with experimental mode
Exited with code 1

আলোচনা

এটি /etc/docker/daemon.jsonনিম্নলিখিত পরিবর্তন করার পরে স্থানীয়ভাবে পরীক্ষামূলক বৈশিষ্ট্যগুলি ব্যবহার করতে কাজ করে:

{
    "experimental": true
}

এবং ডকার সিস্টেস্টল সার্ভিসটি পুনরায় চালু করা হচ্ছে, তবে কীভাবে এটি সার্কেলসিআই-তে করবেন? এটি অসম্ভব বলে মনে হচ্ছে কারণ বিল্ড আউটপুটটি নির্দেশ করে যে সার্কেলসিআই সিস্টেমে থাকা দূরবর্তী ডকারের সাথে একটি সংযোগ তৈরি হয়েছিল।

উত্তর:


5

আপনি পরিচালিত পরিষেবাদির সীমাবদ্ধতার মধ্যে চলেছেন। অনেকগুলি পরিচালিত পরিষেবাদি আইডিয়া নিয়ে পরীক্ষা শুরু করতে দুর্দান্ত এবং নৈমিত্তিক ব্যবহারকারীর জন্য দুর্দান্ত মান প্রদর্শন করতে পারে। তবে তারা নমনীয়তা এবং কার্যকারিতা জন্য ব্যবহারের সহজতা বাণিজ্য করে, তাই আমাদের গুরুতর প্রয়োজন হতে শুরু করার সাথে সাথে এই ধারণাগুলি তৈরির লক্ষ্যে প্রচুর পরিমাণে ব্যয় করতে প্রস্তুত, আমাদের প্রথমে যে পদক্ষেপটি করা উচিত তা হ'ল নমনীয় একটি নির্বাচন করা সম্পূর্ণ কার্যকরী সমাধান। আমার রায় অনুসারে, আপনি সেই লাইনে হিট করছেন যেখানে আপনাকে অন্য কিছুর সন্ধান করতে হবে - এবং আপনি লক্ষ্য করবেন যে আপনাকে একটি আলাদা সরঞ্জাম শিখতে হবে, কারণ এটি নিখরচায় সফ্টওয়্যার নয় এবং আপনি নিজে এটি চালাতে পারবেন না।

এখানে আমরা সার্কেল সিআই সম্পর্কে কথা বলছি, তবে নিম্নলিখিত সীমাবদ্ধতাগুলি অনেকগুলি পরিচালিত পরিষেবার ক্ষেত্রে সাধারণ:

  • পরিচালিত পরিষেবাদিগুলি সেগুলি আমাদের ব্যবহারের অনুমতি দেয় এমন সফ্টওয়্যার সংস্করণগুলিতে কঠোর কনট্রিন্ট রাখে। এই সীমাবদ্ধতাগুলি আজ আমাদের যা প্রয়োজন তা মেলাতে পারে তবে পরবর্তী সময়ে প্রয়োজন হবে না। তারা ইতিমধ্যে আজ সিঙ্কের বাইরে। যে কোনও ক্ষেত্রে এটি বেশিরভাগ ক্ষেত্রে শো স্টপার, কারণ বিকাশ পরিবেশ এবং পরিচালিত পরিবেশে একই সফ্টওয়্যার সংস্করণ ব্যবহার করতে অক্ষম হওয়াই হ'ল বাগ এবং সমস্ত প্রকারের অসুবিধার একটি অনর্থক উত্স।

  • পরিচালিত পরিষেবাগুলি তাদের কার্যকারিতাটিতে সীমাবদ্ধ অ্যাক্সেস সরবরাহ করে। এটি এখানে আপনি যে সমস্যার মুখোমুখি হচ্ছেন: আপনি ডকার চালাতে চান, তবে আপনার ডিমনটিতে কোনও অ্যাক্সেস নেই, কেবল এটির কাজগুলির একটি উপসেট। এই সীমাবদ্ধতাগুলি কখনও কখনও বিজ্ঞাপনের উপাদান দ্বারা ভাল নথিভুক্ত বা পুরো আলোতে আনা হয় না। এর অর্থ হ'ল এই বৈশিষ্ট্যগুলি বোঝার এবং সংহত করার জন্য ব্যয় করা কাজটি যতক্ষণ না আমরা ম্যানেজড পরিষেবাটি আরও একটি ভাল সমাধানের জন্য ছেড়ে চলে না যায় ততক্ষণ মূল্যহীন।

  • পরিচালিত পরিষেবাদি আমরা সেখানে সংরক্ষণ করা ডেটাতে সীমাবদ্ধ অ্যাক্সেস সরবরাহ করে। সুতরাং, লগিং এবং পর্যবেক্ষণের জন্য পরিচালিত পরিষেবাদির উদাহরণটি ধরতে, ডেটা অ্যাক্সেসটি ধীর, অসুবিধাগ্রস্থ এবং বিস্তৃত। যদি আমরা আমাদের অবকাঠামো পরিচালনা করি তবে আমরা আমাদের পর্যবেক্ষণ প্রত্নতত্ত্বগুলিতে কোনও অভিনব কাস্টম বিশ্লেষণ চালাতে মুক্ত, কারণ ডেটা পৌঁছানো আরও সহজ।

মনে রাখবেন যে এটি পরিচালিত পরিষেবার বিরুদ্ধে কোনও মামলা নয়। তাদের একটি হাত নমনীয়তা এবং কার্যকারিতা সহ একসাথে ব্যবহারের স্বাচ্ছন্দ্যের সাথে একত্রিত করতে সক্ষম। তবে এই পরিষেবাগুলির অনেকগুলি নমনীয়তা এবং কার্যকারিতার জন্য ব্যবহারের সহজলভ্যতা: আমরা এগুলিকে দ্রুত একটি সাধারণ কার্যকারিতা তৈরির জন্য সমীকরণ হিসাবে ব্যবহার করতে পারি তবে তারা আমাদের সেই বিন্দু ছাড়িয়ে যেতে বাধা দেবে। আমাদের এই বাণিজ্য বন্ধ সম্পর্কে সচেতন হওয়া এবং বিবেচনা করা দরকার।


8

সার্কেলসিআই এখন আপনাকে একটি মেশিন এক্সিকিউটর ব্যবহার করার অনুমতি দেয় যা উবুন্টু 14.04 এবং ডকার সংস্করণ 17.06.0-ce ইনস্টল করে আপনার জন্য পৃথক ভিএম সরবরাহ করে। এটি আপনাকে ডকার ডেমনটির জন্য পরীক্ষামূলক বৈশিষ্ট্যগুলি চালু করতে দেয়।

আপনার ডাবের ধারক পরিবর্তে একটি পৃথক ভার্চুয়াল মেশিনে আপনার কাজ চালনার জন্য, machineকীটির পরিবর্তে কীটি ব্যবহার করতে হবে docker

আপনি কেবল মেশিনের জন্য 2 টি চিত্র চয়ন করতে পারেন:

  • circleci/classic:latest: ডুকার 17.03.0-ce সহ উবুন্টু 14.04, বা
  • circleci/classic:edge: ডাবর 17.06.0-ce সহ উবুন্টু 14.04 - পরীক্ষামূলক বৈশিষ্ট্যযুক্ত এক।

আপনার নিজের নিজেও মেশিনের উপর নির্ভরতা ইনস্টল করতে হবে কারণ এটি বেশ খালি। উদাহরণস্বরূপ, যদি আপনার পরীক্ষার জন্য আপনার পিএইচপি দরকার হয় তবে আপনাকে চালানো দরকার sudo apt-get install -y php5

এখানে একটি নমুনা .circleci / config.yml যে পরীক্ষামূলক বৈশিষ্ট্য ব্যবহার করে একটি Docker ইমেজ তৈরী করে docker build --squash:

.circleci / config.yml

version: 2
jobs:
  build:
    # Run in a separate virtual machine instead of a Docker container.
    machine:
      enabled: true
      # Use Ubuntu 14.04 with bleeding edge Docker daemon 17.06.0-ce.
      image: circleci/classic:edge
    steps:
      - checkout
      - run:
          command: |
            # Restart Docker with experimental features on.
            sudo sh -c 'echo '\''DOCKER_OPTS="--experimental=true"'\'' >> /etc/default/docker'
            sudo service docker restart

            # Install dependencies for tests etc.
            sudo apt-get update
            sudo apt-get install -y php5

            # Build image with experimental feature --squash.
            docker build --squash -t myuser/myimage .

            # Login and push Docker image to registry.
            docker login -u $DOCKER_USER -p $DOCKER_PASS
            docker push myuser/myimage

1
এটি গ্রহণযোগ্য উত্তর হওয়া উচিত। সার্কেল সিআই তে খুব ভাল কাজ করে। সবেমাত্র আমার 1GB স্লিম চিত্রটি 180MB তে নেমেছে।
pista329
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.