مشخصات مقاله
-
1838
-
0.0
-
3527
-
0
-
0
استفاده از سرور کامپایل و اجرای پروژه (build server) Jenkins جهت build و اجرای اپلیکیشن های اندرویدی
کامپایل و اجرای پروژه های اندرویدی با Jenkins
پیش نیازهای کامپایل پروژه (build job) با Jenkins
Jenkins قادر است اپلیکیشن های اندرویدی را به صورت خودکار کامپایل و تست نماید. جهت انجام پروسه ی کامپایل و اجرای پروژه و ایجاد یک build job بر روی Jenkins، بایستی تنظیمات و ابزار مورد نیاز build را به صورت آماده داشته باشید. ابزار ساخت و توسعه ی اپلیکیشن اندروید خود به صورت پیش فرض یک فایل Gradle build معتبر تولید می کند که برنامه نویس می تواند از در Jenkins استفاده کند.
نصب مجموعه ابزار ساخت و توسعه ی نرم افزار اندروید (Android SDK)
لازم است Android SDK از قبل بر روی سرویس دهنده نصب باشد. در صورتی که سرور کامپایل و اجرای پروژه یا build server برنامه ی display server یا هماهنگ سازی ورودی و خروجی کاربر با باقی سیستم عامل، سخت افزار را نداشته باشد، بایستی Android SDK را از طریق خط دستور (command line) اجرا نمایید. همچنین لازم است مکان قرارگیری Android SDK جهت استفاده ی Jenkins را مشخص نمایید.
# download the Android SDK via wget # for the correct URL see http://developer.android.com/sdk/index.html # and look in the section "SDK Tools Only" wget # example # wget http://dl.google.com/android/android-sdk_r24.2-linux.tgz # unpack it tar zxvf filename # Add the new directory to your patch # assumes you exported it to /opt/ # this must be set for the Jenkins user export ANDROID_HOME="/opt/android-sdk-linux" export PATH="$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH" // run this as Jenkins user android update sdk --no-ui
با استفاده از دستور android list targets می توانید ABI های نصب شده را مشاهده کنید (Application Binary Interface یا ABI یک رابط سطح-پایین بین اپلیکیشن و سیستم عامل یا یک نرمافزار دیگر ایجاد مینماید). در صورت عدم وجود ABI، لازم است آن را مانند زیر نصب نمایید.
android update sdk --all --filter sys-img-armeabi-v7a-android-23 --no-ui --force
نصب افزونه ها یا plug-in های Jenkins
جهت کامپایل و اجرای پروژه های اندرویدی (build) با Jenkins، لازم است افزونه های زیر را نصب نمایید:
- افزونه ی Gradle.
- افزونه ی Git – در صورتی که Git برای منابع پروژه مورد استفاده قرار گرفته شده باشد.
- • افزونه ی شبیه ساز اندروید (Android Emulator) – به توسعه دهنده امکان می دهد تا شبیه ساز اندروید (android emulator) را اجرا و فعال کرده و تا زمانی که شبیه ساز کاملا اجرا نشده، پروسه ی کامپایل و اجرای پروژه (build) را متوقف سازد. برای تست اپلیکشن های اندروید مورد نیاز می باشد.
ایجاد build job برای اپلیکیشن های اندرویدی
به منظور ایجاد build job های اندرویدی در Jenkins، پس از انتخاب New Job، اسم job مربوطه را وارد کنید. حال گزینه ی Build a free-style software project را انتخاب کنید.
سپس می بایست مشخص کنید که منبع و source باید از کجا کپی (clone) شود.
build trigger دلخواه را انتخاب کنید. در تصویر بالا، job و عملیات زمان بندی شده مورد نظر، هر 15 دقیقه یکبار repository انتخابی (Git) را چک می کند.
یک مرحله کامپایل و اجرا با سیستم Gradle (Gradle build step) به job ها و عملیات زمان بندی Jenkins اضافه نمایید.
پس از طی نمودن مراحل فوق بایستی بتوانید Android build خود را اجرا نمایید.
اجرای تست بر روی دستگاه
جهت اجرای تست های instrumentation بر روی دستگاه دلخواه خود، باید یک دستگاه مجازی و شبیه ساز محیط (virtual device) اندروید راه اندازی نمایید.
دقت کنید که گزینه ی Show emulator window نبایستی انتخاب شده باشد چرا که عملیات زمان بندی شده یا job شما نباید به حضور یک برنامه ی display server وابسته باشد.
جهت اجرای تست و تست های instrumentation، بایستی از test connectedAndroidTest target استفاده کنید.
دیگر افزونه های مفید برای build پروژه های اندرویدی
Android Emulator Plugin – از یک job دیگر با گزینه ی Build multi-configuration project پشتیبانی می کند. این گزینه به شما امکان می دهد تا همزمان یک پروژه را بر روی چندین نسخه ی تنظیم شده از شبیه ساز تست نمایید. به طور مثال می توانید پروژه را با زبان ها، چگالی پیکسلی و وضوح تصویر مختلف تست نمایید.
معمولا دو job وجود دارد. یک job وظیفه ی build ساده یا کامپایل و اجرای تست بر روی پروژه را بر عهده دارد. دیگری یک job برای تست پروژه بر روی شبیه سازهایی با تنظیمات و پیکربندی متفاوت است.
افزونه ی پر کاربرد دیگری که بد نیست به آن اشاره شود، افزونه ی Lint است که به شما امکان می دهد تا ساختارهای مشکوک به داشتن خطا در کد پروژه را به واسطه ی Jenkins پیدا کرده و برطرف نمایید.
برای کسب اطلاعات بیشتر درباره ی این افزونه می توانید به آدرس https://wiki.jenkins-ci.org/display/JENKINS/Android+Lint+Plugin مراجعه نمایید.