img

استفاده از Jenkins برای ایجاد پایپ‌لاین در اپلیکیشن‌های اندروید

/
/
/

این یک مقاله آموزشی برای ایجاد پایپ‌لاین به منظور تحلیل کد با استفاده از لینت و ایجاد فایل قابل نصب برای اپلیکیشن‌های اندروید است.

 

ادغام متوالی تکنیکی ست که توسعه‌دهندگان طی آن باید کد را در فضاهای اشتراکی مثلGitHub ، GitLab، SVN و غیره در فواصل زمانی معین وارد کنند. این مفهوم قرار بود از انبوه مشکلاتی که بعدها در ایجاد چرخه زندگی به‌وجود می‌آید، جلوگیری کند. ادغام ‌های متوالی محتاج این است که توسعه‌دهندگان سازه های تکرار شونده داشته باشند. تکنیک معمول این است که هرگاه کدی اجرا شود، یک سازه باید راه اندازی شود. با این حال بعضی اوقات فرآیند سازه نیز به نوعی برنامه ریزی می‌شود که از ایجاد سازه ‌های متعدد اجتناب شود. Jenkins یکی از ابزار‌های بسیار معروف برای ادغام ‌های متوالی است.
در گذشته Jenkins به عنوان سرور ادغام متداول شناخته می‌شد. با این حال اعلان حضور Jenkins2 پیشرفت را علنی کرد، تمرکز نه تنها بر ادغام متوالی بلکه بر انتقال متوالی نیز بود. از این رو، سرور اتوماتیک، کلمه ای است که معمولا بعد از به بازار آمدن Jenkins2 استفاده می‌شود. اولین بار توسط کسوک کاواگوچی در ۲۰۰۴ سازهه شد، و یک سرور اتوماتیک است که به سرعت گرفتن تکنیک‌های اجرایی DevOps ‌های مختلف مثل ادغام متوالی، آزمون متوالی، رساندن متوالی، گسترش متوالی، هشدار‌های متوالی، هماهنگی با سازه پایپ‌لاین یا پایپ‌لاین به عنوان کد، کمک می کند.
Jenkins به مدیریت چرخه زندگی اپلیکیشن ‌های مختلف کمک می‌کند. کاربران می‌توانند ادغام‌‌های متوالی را با سازه، اجرای آزمون واحد و تحلیل کد آماری؛ آزمون متوالی با آزمون عملکردی، آزمون بار و آزمون امنیت؛ انتقال و گسترش متوالی با گسترش خودکار به محیط ‌های مختلف، و از این قبیل چیز‌ها را ردیابی کنند.
Jenkins راه‌های ساده‌تری برای پیکربندی تکنیک ‌های DevOps فراهم می‌کند.

پکیج Jenkins، دو خط تولید دارد:
* LTS (پشتیانی طولانی مدت ): تولیدات هر دوازده هفته، از جریان تولید عادی انتخاب می‌شوند، که این قضیه، یک تولید با ثبات را تضمین می‌کند.
* هفته ای: تولید جدید، هر هفته برای اصلاح اشکالات کوچک و فراهم کردن ویژگی ‌ها به جامعه در دسترس است.
تولیدات LTS و هفته ای در انواع مختلفی مثل فایل ‌های .war (Jenkins در جاوا نوشته شده است)، پکیج ‌های بومی برای سیستم عامل ‌ها، نصب کننده ‌ها و انتقال‌دهنده‌های داکر هستند.
نسخه LTS کنونی، Jenkins 2.73.3 است. این نسخه با یک گزینه بسیار مفید به نام “ Deploy to Azure” همراه است. بله می‌توان در عرض چند دقیقه Jenkins را به ابر عمومی مایکروسافت Azure گسترش داد و متصل کرد. مطمئنا به عضویت در مایکروسافت Azure احتیاج دارید تا از این گزینه استفاده کنید. Jenkins می‌تواند در ویندوز، داکر، FreeBSD، Gentoo، Mac OS X، OpenBSD، openSUSE، Red Hat/Fedora/CentOS و Ubuntu/Debian نصب و استفاده شود.

 

مشخصه ‌های Jenkins
* پشتیبانی برای ابزار ‌های SCM مثل Git، Subversion، Star Team، CVS، AccuRev و غیره.
* سازهاری قابل گسترش با استفاده از پلاگین‌‌ها: پلاگین ‌های در دسترس برای توسعه اندروید، توسعه IOS، توسعه .NET، توسعه RUBY، پلاگین‌های کتابخانه، مدیریت کد منبع، ابزار‌های سازه، راه اندازان سازه، هشدار دهندگان سازه،گزارشات سازه، پلاگین ‌های UI، مدیریت تایید و کاربر و غیره هستند.
* ویژگی”پایپ‌لاین به عنوان کد “را دارد که از زبان اختصاصی دومین (DSL) برای ایجاد پایپ‌لاین و مدیریت چرخه‌زندگی اپلیکیشن استفاده می‌کند.
* وجود master agent architecture که از سازه‌های توزیع شده پشتیبانی می‌کند.
برای نصب Jenkins حداقل سخت افزار‌های لازم ۲۵۶ مگابایت رم و ۱گیگابایت فضای درایو است. پیکربندی پیشنهادی برای یک تیم کوچک ۱ گیگابایت رم و ۵۰ گیگابایت فضای درایو است. لازم است Java8 ،JRE یا JDK داشته باشید.
ساده ترین راه برای اجرای Jenkins دانلود و اجرای آخرین نسخه‌‌های با ثبات فایل ‌های war آن است. فایل Jenkins.war را دانلود، به دایرکتوری آن بروید و دستور زیر را اجرا کنید:

java -jar jenkins.war.

سپس به آدرس:

http://<localhost|IP address>:8080

بروید و تا زمانی که صفحه “Unlock Jenkins” ظاهر شود، صبر کنید. طبق دستورالعمل پیش رفته و بعد از فراهم کردن جزئیات پراکسی(اگر برای پیکربندی Jenkins از پراکسی استفاده می‌کنید)، پلاگین ‌ها را نصب کنید.

پیکربندی
* برای نصب پلاگین ‌ها به Jenkins Dashboard > Manage Jenkins > Manage Plugins بروید. به‌روزرسانی‌ها را در سربرگ‌‌های available و installed تایید کنید. برای پیکربندی پراکسی HTTP به سربرگ Advanced بروید.
* برای آپلود دستی پلاگین ‌ها به Jenkins Dashboard > Manage Jenkins > Manage Plugins > Advanced > Upload Plugin بروید.
* برای پیکربندی امنیتی به Jenkins Dashboard > Manage Jenkins > Configure Global Security بروید. می‌توانید با استفاده از Active Directory، پایگاه داده Jenkins و LDAP میتوانید پیکربندی تایید را عوض کنید. همچنین می‌توانید مجوز‌ها را با استفاده از امنیت مبتنی بر ماتریس یا استراتژی مجوز ماتریس مبتنی بر پروژه، پیکربندی کنید.
* برای پیکربندی متغیرهای محیطی (مثل ANDROID_ HOME)، ابزار مکان، سرورهای SonarQube، مکان Jenkins، Quality Gates – Sonarqube، هشدارهای ایمیل و این قبیل چیزها به

Jenkins Dashboard> Manage Jenkins>Configure System

بروید.
* برای پیکربندی Git، JDK، Gradle و این چیزها به Jenkins Dashboard > Manage Jenkins > Global Tool Configuration بروید.

ایجاد پایپ‌لاین برای اپلیکیشن‌های اندروید

پیش‌نیازهای زیر را لازم داریم:
* از اپلیکیشن‌های اندروید در GitHub، GitHub، SVN یا سامانه‌های مربوط به فایل‌ها نمونه برداری کنید.
* پکیج نصب Gradle را دانلود کنید یا برای نصب خودکار آن از داشبورد Jenkins تنظیمات لازم را انجام دهید.
* اندروید SDK را دانلود کنید.
* پلاگین‌های Jenkins مثل Gradle، Lint اندروید، Build Pipeline و غیره را نصب کنید.

حالا یاد بگیریم که چگونه با استفاده از Build Pipeline ، پایپ‌لاین بسازیم تا به باقی امور خود برسیم:
* با استفاده از Lint اندروید، تحلیل کد را برای کدهای مربوط به اپلیکیشن‌های اندروید اجرا کنید.
* فایل APK بسازید.
* یک پایپ‌لاین بسازید تا پس از اجرای تحلیل کد موفق، عملیات ساختن دیگری برای ایجاد فایل‌های APK به اجرا دربیاید.

 

استفاده از Jenkins برای ایجاد پایپ‌لاین در اپلیکیشن‌های اندروید

استفاده از Jenkins برای ایجاد پایپ‌لاین در اپلیکیشن‌های اندروید

 

حالا بیایید قدم به قدم پیش برویم.
پیکربندی Git، Java و Gradle: برای اجرای پایپ‌لاین ساختن، لازم است که کد را از یک فضای اشتراکی داشته باشید. همانطور که خواهید دید Git را برای ادامه کار پیکربندی می‌کنیم. عملیات مشابهی برای باقی نسخه های کنترلی قابل انجام است. مسیر در Jenkins به صورت

Home>Global tool configuration> Version control/Git

است.
در یک پروژه اندروید، مهم‌ترین قسمت، Gradle است که برای ساختن کد منبع و دانلود تمام الحاقیات لازم برای انجام پروژه عمل می‌کند. در قسمت name، کاربران می‌توانند نسخه Gradle خود را برای اجرای بهتر آن وارد کنند. قسمت بعدی Gradle Home است که مشابه متغیر محیط در سیستم ماست. مسیر Gradle خود را در آن کپی کنید. فقط گزینه نصب خودکار باقی ماند که آخرین نسخه Gradle را نصب می‌کند.
پیکربندی متغیر محیط ANDROID_HOME: قدم بعدی تنظیم SDK برای پروژه اندروید است که شامل تمام ابزارهای پلتفورم و ابزارهای موردنیاز دیگر است. در اینجا کاربر باید مسیر فایل SDK را که در سیستم موجود است دنبال کند. مسیر آن در

Jenkins، Home> Configuration >SDK

می‌باشد.
ایجاد پروژه آزاد به‌منظور انجام آنالیز Lint برای اپلیکیشن‌های اندروید: تنظیمات پایه‌ای آماده است. اولین قدم دادن نام مناسب برای پروژه است. سپس از بخش Category، باید Freestyle project را انتخاب کنید. با زدن کلید OK، پروژه شما آماده استفاده است.

 

استفاده از Jenkins برای ایجاد پایپ‌لاین در اپلیکیشن‌های اندروید

استفاده از Jenkins برای ایجاد پایپ‌لاین در اپلیکیشن‌های اندروید

کاربر می‌تواند برای رسیدن به سک نتیجه تمیز تمام مراحل پیکربندی را طبق دلخواه تنظیم کند. همانطور که در شکل ۴ می‌بینید، در یک پیکربندی عمومی، گزینه Discard old build، تمام سازه های قدیمی را پاک می‌کند و عدد سازه را روی هرچه کاربر بخواهد، نگه می‌دارد. مسیر آن درJenkins، Home>#your_project#> General Setting است.

 

استفاده از Jenkins برای ایجاد پایپ‌لاین در اپلیکیشن‌های اندروید استفاده از Jenkins برای ایجاد پایپ‌لاین در اپلیکیشن‌های اندروید

در مرحله آخر Git را به‌هنوان نسخه کنترلی پیکربندی می‌کنیم تا آخرین کدها برای ایجاد سازه Pipeline را داشته باشیم. گزینه Git را انتخاب و در بخش URL، محل آن را مشخص کنید. کاربر می‌تواند مشخص کند که می‌خواهد از کجا کد را دریافت کند، همانطور که در شکل ۵ می‌بینید، شاخه Master مورد استفاده قرار گرفته است. سپس دکمه های Apply و Save را فشار دهید تا مراحل پیکربندی ذخیره شوند.

 

استفاده از Jenkins برای ایجاد پایپ‌لاین در اپلیکیشن‌های اندروید

استفاده از Jenkins برای ایجاد پایپ‌لاین در اپلیکیشن‌های اندروید

مرحله بعدی اضافه کردن Gradle برای ساختن و Lint برای آنالیز کدآماری است. Lint معادل Sonarqube در جاوا است. برای اضافه کردن وظیفه Lint به پیکربندی کاربر باید گزینه های آن را در فایل build.gradle در پروژه اندروید بنویسد.
پلاگین Lint در اندروید یک ویژگی برای آزمودن خروجی XML تولید شده توسط ابزار Lint ارائه می‌کند و نتایج را در صفحه سازه برای آنالیز قرار می‌دهد. Lint را اجرا نمی‎‌کند اما نتایج آن در فرمت XML باید در فضای کار وجود داشته باشد.
ایجاد یک پروژه آزاد برای ساختن یک فایل APK در اپلیکیشن اندروید: بعد از کامل کردن آنالیز کد، قدم بعدی ساختن پروژه اندروید و فایل APK برای اجراهای بعدی ست.

 

استفاده از Jenkins برای ایجاد پایپ‌لاین در اپلیکیشن‌های اندروید

ایجاد پروژه آزاد با نام AndroidApp-APK: در عملیات ساختن، Invoke Gradle script را انتخاب کنید. محصولات تولید شده مثل فایل‌های JAR، WAR، APK و IPA را آرشیو کنید تا درصورت لزوم بتوانید آن ها را دانلود کنید. دکمه Save را بزنید.
بعد از اجرای تمام مراحل، پایپ‌لاین با استفاده از پلاگین Build Pipeline به صورت تصویری قابل مشاهده است. بعد از نصب این پلاگین، کاربران باید آغاز، میانه و انتها را برای نشان دادن کارهای ساخت در توالی مشخص کنند. آن ها می توانند کارهای بالادستی و پایین دستی را نیز برای ساخت پایپ‌لاین پیکربندی کنند.
برای نمایش تمام سازه‌های ساخته شده علامت + را در سمت راست، بالای صفحه کلیک کنید. نمایش build pipeline را انتخاب کنید. به عنوان کار آغازین، AndroidApp-CA را انتخاب کنید.
گزینه‌های متعددی مثل راه‌اندازی، نمایش، Pipeline Flow و غیره وجود دارند.
همانطور که قبلا تنظیم شده است، پایپ‌لاین با زدن دکمه Run آغاز می‌شود و مداوما تجدید می‌شود. اعمال بالادستی و پایین دستی طبق تنظیمات اجرا می‌شوند.

 

استفاده از Jenkins برای ایجاد پایپ‌لاین در اپلیکیشن‌های اندروید

بعد از تکمیل تمام فرایندها، می‌توانید نمایش آن را در شکل ۹ ببینید. رنگ سبز نشاندهنده اجرای موفق پایپ‌لاین و رنگ قرمز نشاندهنده اجرای ناموفق آن است.

 

استفاده از Jenkins برای ایجاد پایپ‌لاین در اپلیکیشن‌های اندروید استفاده از Jenkins برای ایجاد پایپ‌لاین در اپلیکیشن‌های اندروید

نظر بدهید

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

It is main inner container footer text