در این سری از پست‌های آموزشی بلاگ سکو، تصمیم گرفتیم نحوه‌ی اجرای برنامه‌های مختلف با سکو رو به شما آموزش بدیم. 
اولین پست رو هم به آموزش «اجرای برنامه‌های JAR» اختصاص دادیم.

توی این پست، اول با هم بررسی می‌کنیم که یک برنامه‌ی JAR به چه برنامه‌ای گفته می‌شه. بعد از اون به شما می‌گیم که چطوری می‌تونین به سادگی این نوع برنامه‌ها رو با سکو اجرا کنین.

پبشنهاد می کنیم پست‌ها آموزشی «اجرای برنامه‌های WAR» و «اجرای برنامه‌های DJango» در سکو رو هم مطالعه کنید.

برنامه JAR به چه نوع برنامه‌ای گفته می‌شه؟

JAR مخفف عبارت Java ARchive هست.

همونطور که از اسمش می‌شه حدس زد، این نوع برنامه‌ها، فایل‌های جاوا  رو آرشیو می‌کنن.

خیلی ساده؛ برنامه‌ی JAR یک نوعِ خاص از فرمت فایل‌های بسته‌بندی کننده هست؛ مثل برنامه‌های ZIP یا RAR که فایل‌ها رو فشرده و بسته‌بندی می‌کنن.
می‌تونیم فایل‌های JAR‌ رو مثل یک فایل ZIP تصور کنیم که با استفاده از نرم‌افزار WinZip ایجاد شده. حتی برنامه‌های JAR رو میشه با استفاده از WinZip باز و استخراج هم کرد.

دقیق‌تر بخوایم بگیم؛ برنامه‌ی JAR معمولا برای بسته‌بندی کلاس‌های مختلف جاوا و منابع مرتبط به اون‌ها مثل عکس‌ها و فیلم‌ها و … استفاده می‌شه. علاوه بر این، داخل فایل‌های JAR یک فایل متادیتا هم وجود داره که حاوی اطلاعات تکمیلی در مورد محتوای موجوده. در واقع کلاس‌های جاوا رو با استفاده از برنامه‌ی JAR فشرده و بسته‌بندی می‌کنن تا بتونن بعدا اون‌ها رو منتشر کنن و به اشتراک بذارن.

حالا با هم بررسی کنیم که چجوری می‌شه یک برنامه ی JAR رو با سکو اجرا کرد.

اجرای برنامه‌ی JAR با سکو

برای قرار دادن و اجرای یک برنامه‌ی JAR در سکو باید پنج مرحله‌ی زیر رو به ترتیب انجام بدین:

۱. نصب داکر

در مرحله اول باید داکر رو نصب کنین. (برای این کار می‌تونین به این صفحه برین، ورژن داکر مورد نظرتون رو انتخاب کنین و اون رو نصب کنین.)

توجه کنین که اگر داخل ایران زندگی می‌کنین برای این کار باید از روش‌های گذر از تحریم استفاده کنین.

۲. نوشتن کد برنامه

خب حالا برنامه‌ی مورد نظرتون رو بنویسین. 

مثلا ما اینجا یک برنامه‌ی ساده با استفاده از Spring نوشتیم:

۳.ایجاد و نوشتن داکر‌فایل

بعد از اینکه برنامه‌تون رو نوشتین، یک فایل به اسم Dockerfile داخل پوشه‌ی Root پروژه ایجاد کنین.

کد‌های زیر رو داخل فایل Dockerfile قرار بدین:

اجازه بدین این سه خط کد رو بیشتر توضیح بدیم:

  •  FROM openjdk:8u181:

برنامه‌ی ما برای اجرا به JDK نیاز داره.

توی این خط اومدیم گفتیم ایمیج openjdk، نسخه‌ی 8u181 رو برای برنامه‌مون بگیر.

  • ADD target/example-0.0.1-SNAPSHOT.jar  /opt/example-0.0.1-SNAPSHOT.jar: 

این خط فایل JAR تولید شده توسط Maven برنامه رو که در اینجا اسمش  example-0.0.1-SNAPSHOT.jar هست، داخل پوشه‌ی opt کانتینر قرار می‌ده.

  •  ENTRYPOINT ["java","-jar","/opt/example-0.0.1-SNAPSHOT.jar"]

توی این خط هم دستورات و پارامترهایی که برای اجرای فایل JAR لازم هست رو قرار دادیم.


شما می تونین توی این صفحه اطلاعات بیشتری رو در مورد OpenJDK و نسخه‌های مختلفش به دست بیارین.

همچنین برای اطلاعات بیشتر در مورد داکر‌فایل هم می‌تونین به این صفحه یه سری بزنین.

۴. قرار دادن کد‌های پروژه در Git

توی این مرحله باید کدهای پروژه رو همراه با داکرفایل در Git قرار بدین. 

فقط دقت کنین که اگر Repository شما از نوع Private هست، حتما باید Access Token بسازین.

۵. ایجاد برنامه در سکو

بعد از اینکه چهار مرحله‌ی قبلی رو انجام دادین، به مرحله‌ی جذابِ ایجاد برنامه در سکو می‌رسیم.

توی این مرحله باید:

۱-  وارد پنل سکو بشین.

۲- از داخل منو، گزینه‌ی "برنامه جدید" رو انتخاب کنین. 

۳- Deploy Type برنامه رو روی Source Code قرار بدین.

۴- اطلاعات خواسته شده رو به صورت زیر وارد کنین.

  • Docker file: آدرس داکر فایل به همراه نام داکر‌فایل (در اینجا با توجه به اینکه داکر‌فایل توی پوشه‌ی اصلی پروژه قرار داره، کافیه فقط "Dockerfile" رو داخلش بنویسیم.)
  • Url: آدرس Git
  • branch: نام شاخه‌ای که تمایل دارین برنامه از اون ساخته بشه.
  • Username: در صورتی که  Repository از نوع Private باشه، لازمه نام کاربری Git خودتون رو وارد کنین.
  • Access Token:  در صورتی که  Repository از نوع Private باشه، لازمه این فیلد پر بشه.

بقیه فیلدهای برنامه‌تون رو هم با توجه به نیاز وارد کنین و بعد از اون روی "بارگذاری" کلیک کنین.

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