| glab(1) | glab(1) |
نام (NAME)
glab-release-create - ایجاد یک انتشار جدید در گیتلب یا بهروزرسانی انتشار موجود.
خلاصه دستور (SYNOPSIS)
glab release create [...] [flags]
توضیحات (DESCRIPTION)
ایجاد یک انتشار جدید گیتلب برای یک مخزن، یا بهروزرسانی انتشار موجود. نیازمند حداقل نقش Developer است.
یک انتشار موجود با اطلاعات جدیدی که ارائه میدهید بهروزرسانی میشود.
برای ایجاد یک انتشار از یک برچسب Git نشانهدار (annotated):
- 1.
- برچسب را بهصورت محلی با Git ایجاد کرده و آن را به گیتلب پوش کنید (push).
- 2.
- این دستور را اجرا کنید.
- 3.
- اگر برچسب Git مشخصشده وجود نداشته باشد، دستور یک انتشار را از آخرین وضعیت شاخهٔ پیشفرض ایجاد کرده و آن را با نام برچسبی که مشخص میکنید، برچسبگذاری مینماید.
برای لغو این رفتار، از --ref استفاده کنید. مقدار ref میتواند یک SHA کامیت، نام یک برچسب دیگر یا نام یک شاخه باشد. 4. اختیاری. برای واکشی محلی برچسب جدید پس از انتشار، دستور git fetch --tags origin را اجرا کنید.
احراز هویت در CI/CD:
- پیشنهادی: از CI_JOB_TOKEN استفاده کنید و ورود خودکار CI را با تنظیم GLAB_ENABLE_CI_AUTOLOGIN=true فعال نمایید. glab مقدار CI_JOB_TOKEN را در هدر JOB-TOKEN ارسال میکند که توسط API انتشارها پذیرفته میشود.
- روش جایگزین: از GITLAB_TOKEN تنظیمشده روی یک توکن دسترسی پروژه یا گروه با حوزهٔ api استفاده کنید.
- مقدار GITLAB_TOKEN=$CI_JOB_TOKEN را تنظیم نکنید زیرا API انتشارها خطای 404 Not Found را بازمیگرداند. GITLAB_TOKEN بهعنوان یک توکن دسترسی شخصی در هدر PRIVATE-TOKEN ارسال میشود که توسط API انتشارها پذیرفته نمیشود.
گزینهٔ --publish-to-catalog آزمایشی است: ممکن است ناپایدار بوده یا در هر زمان حذف شود و برای استفاده در محیط عملیاتی آماده نیست. برای اطلاعات بیشتر، ببینید: https://docs.gitlab.com/policy/development_stages_support
گزینهها (OPTIONS)
-a, --assets-links="" نمایش رشتهای JSON از پیوندهای داراییها (assets). برای کاربرد، مثالها را ببینید.
-m, --milestone=[] عنوان هر مایلاستون که این انتشار با آن مرتبط است. چند مایلاستون را میتوان با کاما جدا کرد یا با تکرار فلگ مشخص نمود.
-n, --name="" نام یا عنوان انتشار.
--no-close-milestone[=false] جلوگیری از بستن مایلاستونها پس از ایجاد انتشار.
--no-update[=false] جلوگیری از بهروزرسانی انتشار موجود.
-N, --notes="" یادداشتها یا توضیحات انتشار. قالب Markdown را میپذیرد.
-F, --notes-file="" خواندن 'فایل' یادداشتهای انتشار. برای خواندن از stdin، از '-' استفاده کنید.
--package-name="release-assets" نام بسته، هنگام بارگذاری داراییها در انتشار بستهٔ عمومی با --use-package-registry.
--publish-to-catalog=false ⟨EXPERIMENTAL⟩ انتشار در کاتالوگ GitLab CI/CD.
-r, --ref="" اگر برچسب مشخصشده وجود نداشته باشد، انتشاری از ref ایجاد کرده و آن را با نام برچسب مشخصشده تگگذاری میکند. کامیت SHA، نام برچسب یا نام شاخه را میپذیرد.
-D, --released-at="" تاریخ و زمان با استاندارد ISO 8601 که انتشار آماده شده بود. پیشفرض، تاریخ و زمان فعلی است.
-T, --tag-message="" پیام مورد استفاده در صورت ایجاد یک برچسب نشانهدار (annotated tag) جدید.
--use-package-registry[=false] بارگذاری داراییهای انتشار در رجیستری بستههای عمومی پروژه. متغیر محیطی GITLAB_RELEASE_ASSETS_USE_PACKAGE_REGISTRY را بازنویسی میکند.
گزینههای به ارث رسیده از دستورات والد (OPTIONS INHERITED FROM PARENT COMMANDS)
-h, --help[=false] نمایش راهنما برای این دستور.
-R, --repo="" انتخاب مخزنی دیگر. میتوانید از OWNER/REPO یا GROUP/NAMESPACE/REPO استفاده کنید. نشانی وب (URL) کامل یا نشانی Git نیز پذیرفته میشود.
مثال (EXAMPLE)
# ایجاد تعاملی یک انتشار
glab release create v1.0.1
# ایجاد غیرتعاملی یک انتشار با مشخص کردن یادداشت
glab release create v1.0.1 --notes "bugfix release"
# استفاده از یادداشتهای انتشار از یک فایل
glab release create v1.0.1 -F changelog.md
# بهروزرسانی انتشار موجود (مانند تغییر تاریخ انتشار) بدون ویرایش یادداشتها
glab release create v1.0.1 --released-at "2024-01-15T10:00:00Z"
# بارگذاری یک دارایی انتشار با یک نام نمایشی (نوع بهطور پیشفرض 'other' خواهد بود)
glab release create v1.0.1 '/path/to/asset.zip#My display label'
# بارگذاری یک دارایی انتشار با یک نام نمایشی و نوع
glab release create v1.0.1 '/path/to/asset.png#My display label#image'
# بارگذاری تمام داراییهای موجود در یک پوشه مشخص (نوعها بهطور پیشفرض 'other' خواهند بود)
glab release create v1.0.1 ./dist/*
# بارگذاری تمام tarballها در یک پوشه مشخص (نوعها بهطور پیشفرض 'other' خواهند بود)
glab release create v1.0.1 ./dist/*.tar.gz
# ایجاد انتشار از یک جاب CI/CD با استفاده از توکن جاب
GLAB_ENABLE_CI_AUTOLOGIN=true glab release create v1.0.1 --notes "See CHANGELOG.md" --ref "$CI_COMMIT_SHA"
# ایجاد انتشار از یک جاب CI/CD با استفاده از یک توکن دسترسی پروژه یا گروه با حوزه 'api'
GITLAB_TOKEN="$ACCESS_TOKEN" glab release create v1.0.1 --notes "See CHANGELOG.md" --ref "$CI_COMMIT_SHA"
# ایجاد انتشار به همراه داراییها، مانند بستهها، مشخصشده بهصورت یک شیء JSON
glab release create v1.0.1 --assets-links='
[
{
"name": "Asset1",
"url":"https://<domain>/some/location/1",
"link_type": "other",
"direct_asset_path": "path/to/file"
}
]'
# (آزمایشی) ایجاد یک انتشار و انتشار آن در کاتالوگ GitLab CI/CD
# نیازمند فعال بودن فلگ قابلیت `ci_release_cli_catalog_publish_option`
# برای این پروژه در نمونه GitLab شما است. این را به صورت دستی اجرا نکنید. از آن به عنوان بخشی
# از یک پایپلاین CI/CD با کلیدواژه "release" استفاده کنید:
#
# - کامپوننتها را از مخزن فعلی با جستجوی فایلهای `yml`
# درون پوشه "templates" و زیرپوشههای آن بازیابی میکند.
# - در صورتی که فلگ قابلیت `ci_release_cli_catalog_publish_option`
# برای این پروژه در نمونه GitLab شما فعال نباشد، با شکست مواجه میشود.
# کامپوننتها را میتوان تعریف کرد:
# - در فایلهای منفرد با پسوند `.yml` برای هر کامپوننت، مانند `templates/secret-detection.yml`.
# - در زیرپوشههای حاوی فایلهای `template.yml` به عنوان نقاط ورود،
# برای کامپوننتهایی که چندین فایل مرتبط را بستهبندی میکنند. برای مثال،
# `templates/secret-detection/template.yml`.
glab release create v1.0.1 --publish-to-catalog
همچنین ببینید (SEE ALSO)
| Sep 2026 | Auto generated by spf13/cobra |