যখন অন্য সংগ্রহস্থল একটি নতুন রিলিজ তৈরি করে তখন একটি গিটহাব অ্যাকশন ট্রিগার করুন


9

আমি একটি গিটহাব ওয়ার্কফ্লো তৈরির চেষ্টা করছি যা অন্য একটি সংগ্রহশালা একটি নতুন রিলিজ তৈরি করলে ট্রিগার হবে।

: ডকুমেন্টেশন ইন, অনুচ্ছেদ on.event_name.typesযেখানে event_nameহতে হবে release

প্রশ্নটি হ'ল: releaseঅন্য ভাণ্ডারের ইভেন্টটি উল্লেখ করার কোনও উপায় আছে কি ?


1
আমি বিশ্বাস করি না। আপনার প্রকাশনা তৈরি করে এমন রেপোতে অ্যাক্সেসের প্রয়োজন হবে।
ওসোস্কিট

উত্তর:


7

অন্য ভাণ্ডারের মুক্তির ইভেন্টটি উল্লেখ করার কোনও উপায় আছে কি?

মোটামুটি নিশ্চিত যে এই বৈশিষ্ট্যটির অস্তিত্ব নেই।

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

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

নোট করুন যে পরিবর্তিত ফাইলগুলি পরীক্ষা করার জন্য আপনাকে অবশ্যই প্রথমে গন্তব্য ফাইলটি প্রস্তুত করতে হবে (যেমন রিলিজ-সংস্করণ / swagger-ui-সর্বশেষ। টেক্সট)। আরও, আপনাকে অবশ্যই repoডিফল্ট পরিবর্তে একটি স্কোপড টোকেন ব্যবহার করতে হবে GITHUB_TOKEN। সে সম্পর্কে আরও তথ্যের জন্য গিটহাব অ্যাকশন থেকে উত্সে পুশ দেখুন

name: Get latest release version
on:
  schedule:
    - cron:  '0 10 * * *'
jobs:
  get-version:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          token: ${{ secrets.REPO_SCOPED_TOKEN }}
      - name: Fetch release version
        run: |
          curl -sL https://api.github.com/repos/swagger-api/swagger-ui/releases/latest | \
          jq -r ".tag_name" > release-versions/swagger-ui-latest.txt
      - name: Check for modified files
        id: git-check
        run: echo ::set-output name=modified::$(if git diff-index --quiet HEAD --; then echo "false"; else echo "true"; fi)
      - name: Commit latest release version
        if: steps.git-check.outputs.modified == 'true'
        run: |
          git config --global user.name 'Your Name'
          git config --global user.email 'your-email@users.noreply.github.com'
          git commit -am "New release version"
          git push

তারপরে আপনি একটি দ্বিতীয় ওয়ার্কফ্লো তৈরি করতে পারেন যা কেবল তখন চালিত হয় যখন এটি ডিরেক্টরিতে কোনও পরিবর্তন দেখায় release-versions

on:
  push:
    paths:
      - 'release-versions/*'

এই ওয়ার্কফ্লোতে আপনি আপনার প্রয়োজনীয় সম্পদ আনতে সংরক্ষণ করা সংস্করণ ব্যবহার করতে পারেন এবং আপনার যা প্রয়োজন প্রক্রিয়াকরণ করতে পারেন।


1
দুঃখের বিষয় আপনি আমার কুঁচকে নিশ্চিত করেছেন। এছাড়াও, আপনার পদ্ধতির ভাগ করে নেওয়ার জন্য আপনাকে ধন্যবাদ।
পিয়েরডিপি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.