برنامه نویسی

انتشار یک بسته خصوصی در بسته های GitHub

Summarize this content to 400 words in Persian Lang
اخیراً در محل کار، با نیاز به انتشار یک بسته به صورت خصوصی مواجه شدم. پس از ارزیابی برخی گزینه ها، متوجه شدم که بهترین راه برای انجام این کار استفاده از بسته های GitHub است.

بسته های GitHub چیست؟

بسته‌های GitHub به شما امکان می‌دهد بسته‌هایی از انواع مختلف (مانند npm، Maven، Docker و غیره) را مستقیماً در GitHub ذخیره کنید. بسته به نیاز پروژه خود می توانید آنها را عمومی یا خصوصی کنید. در اینجا می توانید اطلاعات بیشتری کسب کنید.

مرحله 1: راه اندازی پروژه و الزامات

ابتدا باید یک مخزن در GitHub داشته باشید که بسته شما در آن ذخیره می شود. برای اطمینان از خصوصی بودن بسته، مطمئن شوید که مخزن خصوصی است.

مرحله 2: ایجاد بسته خود

ایجاد package.json: تعویض کنید با کاربر یا سازمان مورد نظر

npm init –scope=@

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این یک را ایجاد می کند package.json فایل با name فیلد قبلاً با محدوده قالب بندی شده است. استفاده از نمایه GitHub من به عنوان مثال:

{
“name”: “@carloshendvpm/my-package”,
“version”: “1.0.0”,
“description”: “My private package on GitHub Packages”,

}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 3: پیکربندی رجیستری برای بسته های GitHub

اکنون، باید مطمئن شوید که npm می‌داند که می‌خواهید این بسته را در بسته‌های GitHub منتشر کنید، نه در رجیستری عمومی npm. برای انجام این کار، را اضافه کنید publishConfig زمینه به شما package.json:

“publishConfig”: {
“registry”: “https://npm.pkg.github.com/”
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این به npm می گوید که از بسته های GitHub به عنوان مقصد انتشار استفاده کند. شما package.json اکنون باید به این شکل باشد:

{
“name”: “@carloshendvpm/my-package”,
“version”: “1.0.0”,
“type”: “module”,
“repository”: {
“url”: “https://github.com/carloshendvpm/my-package.git”
},
“dependencies”: {

},
“devDependencies”: {

},
“publishConfig”: {
“registry”: “https://npm.pkg.github.com/”
}
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 4: استفاده از GitHub Actions برای انتشار بسته

یک دایرکتوری به نام ایجاد کنید .github/workflows داخل پروژه شما داخل workflows دایرکتوری، یک فایل به نام ایجاد کنید publish.yml با محتوای زیر:

name: Publish package to GitHub Packages
on:
release:
types: [published] workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
– uses: actions/checkout@v4
– uses: actions/setup-node@v3
with:
node-version: ’20.x’
registry-url: ‘https://npm.pkg.github.com’
scope: ‘@carloshendvpm’
– name: Install dependencies
run: npm install
– name: Publish package
run: npm publish –access restricted
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این عمل تنها زمانی اجرا می شود که نسخه جدیدی ایجاد شود. شما می توانید این رفتار را بر اساس ترجیحات خود تغییر دهید. من هم استفاده کرده ام workflow_dispatch رویداد، که به شما امکان می دهد به صورت دستی اقدام را از رابط GitHub فعال کنید. توجه به این نکته ضروری است که GITHUB_TOKEN به طور خودکار توسط GitHub تولید می شود. در اینجا می توانید در مورد آن بیشتر بدانید.

مرحله 5: ایجاد نسخه جدید

اطلاعات برچسب را پر کنید و نسخه جدید را ایجاد کنید. این عمل را برای اجرا آغاز می کند.

مرحله 6: استفاده از بسته در پروژه های خود

قبل از نصب بسته، مراحل زیر را دنبال کنید:

یک نشانه دسترسی شخصی در GitHub ایجاد کنید. این توکن به شما امکان می دهد با API GitHub احراز هویت و بسته خود را نصب کنید. رفتن به تنظیمات / تنظیمات برنامه‌نویس / نشانه‌های دسترسی شخصی و یک توکن جدید با مجوز خواندن تولید کنید.
در پروژه ای که از پکیج استفاده خواهد شد، a را ایجاد کنید .npmrc فایل در دایرکتوری ریشه
پیکربندی زیر را به خود اضافه کنید .npmrc فایل، جایگزین با توکنی که تولید کردید:

//npm.pkg.github.com/:_authToken=
@organizationName:registry=https://npm.pkg.github.com

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اکنون می توانید بسته را در پروژه خود با استفاده از:

“@carloshendvpm/my-package”: “1.0.0”

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

npm install @carloshendvpm/my-package@1.0.0

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نتیجه گیری

امیدوارم این به نوعی مفید بوده باشد. به زودی، من قصد دارم یک راهنمای کامل در مورد ایجاد یک بسته با استفاده از کتابخانه Svelte به اشتراک بگذارم. اگر پیشنهادی دارید یا متوجه هر گونه اشتباهی شدید، می توانید نظر خود را اعلام کنید یا اصلاح کنید. نسخه آلمانی به زودی …

اخیراً در محل کار، با نیاز به انتشار یک بسته به صورت خصوصی مواجه شدم. پس از ارزیابی برخی گزینه ها، متوجه شدم که بهترین راه برای انجام این کار استفاده از بسته های GitHub است.

بسته های GitHub چیست؟

بسته‌های GitHub به شما امکان می‌دهد بسته‌هایی از انواع مختلف (مانند npm، Maven، Docker و غیره) را مستقیماً در GitHub ذخیره کنید. بسته به نیاز پروژه خود می توانید آنها را عمومی یا خصوصی کنید. در اینجا می توانید اطلاعات بیشتری کسب کنید.

مرحله 1: راه اندازی پروژه و الزامات

ابتدا باید یک مخزن در GitHub داشته باشید که بسته شما در آن ذخیره می شود. برای اطمینان از خصوصی بودن بسته، مطمئن شوید که مخزن خصوصی است.

مرحله 2: ایجاد بسته خود

  1. ایجاد package.json: تعویض کنید با کاربر یا سازمان مورد نظر
npm init --scope=@
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این یک را ایجاد می کند package.json فایل با name فیلد قبلاً با محدوده قالب بندی شده است. استفاده از نمایه GitHub من به عنوان مثال:

{
  "name": "@carloshendvpm/my-package",
  "version": "1.0.0",
  "description": "My private package on GitHub Packages",
  ...
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 3: پیکربندی رجیستری برای بسته های GitHub

اکنون، باید مطمئن شوید که npm می‌داند که می‌خواهید این بسته را در بسته‌های GitHub منتشر کنید، نه در رجیستری عمومی npm. برای انجام این کار، را اضافه کنید publishConfig زمینه به شما package.json:

"publishConfig": {
  "registry": "https://npm.pkg.github.com/"
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این به npm می گوید که از بسته های GitHub به عنوان مقصد انتشار استفاده کند. شما package.json اکنون باید به این شکل باشد:

{
  "name": "@carloshendvpm/my-package",
  "version": "1.0.0",
  "type": "module",
  "repository": {
    "url": "https://github.com/carloshendvpm/my-package.git"
  },
  "dependencies": {
    ...
  },
  "devDependencies": {
    ...
  },
  "publishConfig": {
    "registry": "https://npm.pkg.github.com/"
  }
}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مرحله 4: استفاده از GitHub Actions برای انتشار بسته

یک دایرکتوری به نام ایجاد کنید .github/workflows داخل پروژه شما داخل workflows دایرکتوری، یک فایل به نام ایجاد کنید publish.yml با محتوای زیر:

name: Publish package to GitHub Packages
on:
  release:
    types: [published]
  workflow_dispatch:
jobs:
  build:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      packages: write
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v3
        with:
          node-version: '20.x'
          registry-url: 'https://npm.pkg.github.com'
          scope: '@carloshendvpm'
      - name: Install dependencies
        run: npm install
      - name: Publish package
        run: npm publish --access restricted
        env:
          NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این عمل تنها زمانی اجرا می شود که نسخه جدیدی ایجاد شود. شما می توانید این رفتار را بر اساس ترجیحات خود تغییر دهید. من هم استفاده کرده ام workflow_dispatch رویداد، که به شما امکان می دهد به صورت دستی اقدام را از رابط GitHub فعال کنید. توجه به این نکته ضروری است که GITHUB_TOKEN به طور خودکار توسط GitHub تولید می شود. در اینجا می توانید در مورد آن بیشتر بدانید.

مرحله 5: ایجاد نسخه جدید

نسخه جدید github

اطلاعات برچسب را پر کنید و نسخه جدید را ایجاد کنید. این عمل را برای اجرا آغاز می کند.

مرحله 6: استفاده از بسته در پروژه های خود

قبل از نصب بسته، مراحل زیر را دنبال کنید:

  1. یک نشانه دسترسی شخصی در GitHub ایجاد کنید. این توکن به شما امکان می دهد با API GitHub احراز هویت و بسته خود را نصب کنید. رفتن به تنظیمات / تنظیمات برنامه‌نویس / نشانه‌های دسترسی شخصی و یک توکن جدید با مجوز خواندن تولید کنید.

  2. در پروژه ای که از پکیج استفاده خواهد شد، a را ایجاد کنید .npmrc فایل در دایرکتوری ریشه

  3. پیکربندی زیر را به خود اضافه کنید .npmrc فایل، جایگزین با توکنی که تولید کردید:

//npm.pkg.github.com/:_authToken=
@organizationName:registry=https://npm.pkg.github.com
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  1. اکنون می توانید بسته را در پروژه خود با استفاده از:
"@carloshendvpm/my-package": "1.0.0"
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

npm install @carloshendvpm/my-package@1.0.0
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نتیجه گیری

امیدوارم این به نوعی مفید بوده باشد. به زودی، من قصد دارم یک راهنمای کامل در مورد ایجاد یک بسته با استفاده از کتابخانه Svelte به اشتراک بگذارم. اگر پیشنهادی دارید یا متوجه هر گونه اشتباهی شدید، می توانید نظر خود را اعلام کنید یا اصلاح کنید. نسخه آلمانی به زودی …

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا