نحو و منطق جنکینز – انجمن DEV

متغیرهای محیطی
متغیرهای محیطی جفتهای کلید-مقدار هستند که میتوانند برای ذخیره و بازیابی دادهها در طول ساخت جنکینز استفاده شوند. آنها اغلب برای ذخیره داده های حساس مانند کلیدهای API یا رمزهای عبور استفاده می شوند که نباید در اسکریپت های شما کدگذاری شوند.
در اینجا مثالی از نحوه تعریف متغیر محیطی در جنکینز آورده شده است:
pipeline {
agent any
environment {
MY_VARIABLE = "my value"
}
stages {
stage('Example') {
steps {
echo "${env.MY_VARIABLE}"
}
}
}
}
در این مثال، یک متغیر محیطی به نام MY_VARIABLE تعریف می کنیم و به آن مقدار «my value» می دهیم. سپس از دستور echo برای چاپ مقدار این متغیر استفاده می کنیم.
مولفه های
پارامترها به شما این امکان را می دهند که داده ها را به ساختمان های Jenkins خود منتقل کنید. آنها اغلب برای تعیین گزینه های مختلف پیکربندی یا اجازه دادن به کاربران برای انتخاب گزینه ها در زمان اجرا استفاده می شوند.
در اینجا مثالی از نحوه تعریف یک پارامتر در جنکینز آورده شده است:
pipeline {
agent any
parameters {
string(name: 'MY_PARAMETER', defaultValue: 'default value', description: 'A description of the parameter')
}
stages {
stage('Example') {
steps {
echo "${params.MY_PARAMETER}"
}
}
}
}
در این مثال، پارامتر رشته ای به نام MY_PARAMETER را با مقدار پیش فرض “مقدار پیش فرض” و توضیحات تعریف می کنیم. سپس از دستور echo برای چاپ مقدار این پارامتر استفاده می کنیم.
شرایط و منطق
جنکینز روشهای مختلفی را برای اجرای منطق شرطی و انشعاب در ساختهای شما ارائه میکند. در اینجا چند نمونه هستند:
اگر بیانیه
دستور if به شما امکان می دهد منطق شرطی را در یک مرحله از خط لوله خود انجام دهید.
pipeline {
agent any
stages {
stage('Example') {
steps {
if (params.MY_PARAMETER == 'some value') {
echo "The parameter is set to 'some value'"
} else {
echo "The parameter is set to something else"
}
}
}
}
}
در این مثال، از دستور if استفاده می کنیم تا بررسی کنیم که آیا مقدار MY_PARAMETER برابر با “مقدار خاصی” است یا خیر. اگر چنین است، پیامی را چاپ می کنیم که نشان می دهد پارامتر روی “مقدار خاصی” تنظیم شده است. اگر اینطور نیست، پیام دیگری چاپ می کنیم.
وقتی شرط
شرط زمانی که به شما امکان می دهد کنترل کنید که آیا یک مرحله باید بر اساس شرایطی اجرا شود یا خیر.
pipeline {
agent any
stages {
stage('Example') {
when {
expression { params.MY_PARAMETER == 'some value' }
}
steps {
echo "The parameter is set to 'some value'"
}
}
}
}
در این مثال، از یک شرط زمانی استفاده می کنیم تا بررسی کنیم که آیا مقدار MY_PARAMETER برابر با “مقدار خاصی” است یا خیر. اگر هست، مرحله را اجرا می کنیم و پیامی را چاپ می کنیم. اگر اینطور نیست، به طور کامل از مرحله می گذریم.
حلقه ها
جنکینز همچنین چندین راه برای انجام حلقه ها در خط لوله شما ارائه می دهد. در اینجا مثالی از استفاده از حلقه for برای تکرار بر روی لیستی از آیتم ها آورده شده است:
pipeline {
agent any
stages {
stage('Example') {
steps {
def items = ["one", "two", "three"]
for (item in items) {
echo "Item: ${item}"
}
}
}
}
}
در این مثال لیستی از آیتم ها و