مقدمه

[آپدیت جدید جیرا را در این لینک مشاهده کنید]

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

 

در مبحث مدیریت پروژه‌های نرم‌افزاری، به کوچکترین واحد کاری که برای بهبود و توسعه یک محصول باید انجام شود، یک issue می‌گویند. یک issue می‌تواند یک قابلیت (Feature) جدید در نرم‌افزار، یک ایراد (Bug) یا هر نوع کار قابل انجام برای بهبود و توسعه سیستم باشد. Jira در واقع یک ابزار برای تعریف و پیگیری issue ها یا به عبارتی یک Issue Tracking System است که به مدیران پروژه کمک می‌کند issue ها را تعریف و اولویت‌بندی کرده و به افراد مختلف در تیم بسپارند، همینطور پیشرفت آنها را طی فرآیند‌های استانداردی مثل Scrum و Kanban پیگیری کنند. از طرف دیگر Jira می‌تواند به ابزارهای مدیریت سورس کد مثل Gitlab یا Bitbucket متصل شده و issue ها را به کد‌های مربوط به آنها در پروژه لینک کند.

نرم‌افزار Jira در قالب سه بسته نرم‌افزاری مختلف به فروش می‌رسد که بسته به نیاز می‌توان یکی از آنها را خریداری کرد:

  • پکیج Jira Core شامل امکانات پایه برای مدیریت پروژه های بیزنسی (غیر نرم‌افزاری) است.
  • پکیج Jira Software علاوه بر امکانات Jira Core شامل امکانات مربوط به مدیریت پروژه‌های نرم‌افزاری در قالب متدولوژی هایی مثل Scrum است.
  • پکیج Jira Service Desk علاوه بر امکانات Jira Core و Jira Software قابلیت های مربوط به پشتیبانی و امور مشتریان را نیز شامل می‌شود.

در این نوشتار به آموزش نصب و البته کرک کردن پکیج Jira Software  (۶۴ بیتی) بر روی یک سرور Ubuntu خواهیم پرداخت.

نصب Database

طبیعی است که Jira برای نگه‌داری issue ها نیاز به یک Database دارد. برای این منظور می‌توان از انواع دیتابیس های رابطه‌ای مثل Microsoft SQL Server، mySQL و ... استفاده کرد. اما پیشنهاد ما استفاده از PostgreSQL است. بنابراین پس از آماده سازی سرور و اتصال به آن با SSH، به سراغ نصب PostgreSQL می‌رویم.

ابتدا با اجرای دستور زیر، لیست پکیج‌های موجود در مخازن اوبونتو و ورژن های آنها را آپدیت می‌کنیم:

$ sudo apt-get update

سپس با اجرای دستور زیر آخرین نسخه از PostgreSQL را نصب می‌کنیم:

$ sudo apt-get install postgresql postgresql-contrib

 

پس از اتمام مراحل نصب، اجرای دستور زیر باعث می‌شود که PostgreSQL به عنوان یک سرویس در اوبونتو شناخته شده و هربار که سرور بوت شد به صورت خودکار اجرا شود:

$ sudo update-rc.d postgresql enable

 

دقت کنید که دستور بالا برای اجرا شدن PostgreSQL در هنگام بوت شدن های بعدی است. پس برای اجرای آن در همین لحظه، دستور زیر را اجرا کنید:

sudo service postgresql start

 

تنظیمات Database

حال که سرویس PostgreSQL در حال اجرا روی سرور است، باید بتوان با اجرای دستور psql به کنسول مربوط به این دیتابیس وصل شد و با دیتابیس کارکرد. اما اگر دستور psql را اجرا کنید احتمالا با پیغام خطای psql: FATAL: role "YOUR_USER_NAME" does not exist مواجه خواهید شد. دلیل این مشکل این است که کاربری که با آن در سرور لاگین کرده اید اجازه دسترسی به دیتابیس و تغییر آن را ندارد. در واقع، PostgreSQL برای بالا بردن امنیت از مفهومی به عنوان Role استفاده می‌کند و اگر شما می‌خواهید به دیتابیس متصل شده و تغییری در آن ایجاد کنید باید یک Role به نام کاربری که با آن لاگین کرده اید در PostgreSQL داشته باشید و واضح است که این Role برای کاربر شما از قبل تعریف نشده است. با این حال، PostgreSQL هنگام نصب، یک کاربر به نام postgres در سرور ساخته و یک Role به همین نام نیز برای آن ایجاد می‌کند. پس می‌توانید با کاربر postgres به سرور لاگین کرده و با اجرای دستور psql به دیتابیس وصل شوید:

 sudo su - postgres
 psql

 

با اجرای دستور psql کنسول PostgreSQL باز شده و می‌توانید با دیتابیس ارتباط برقرار کنید. مثلا با دستور l\ می‌توانید لیست دیتابیس‌های موجود در PostgreSQL را ببینید و یا با دستور du\ می‌توانید لیست Role ها را مشاهده کنید. همینطور با دستور q\ می‌توانید از کنسول مربوط به PostgreSQL خارج شده و به ترمینال سرور خود بازگردید (اما فعلا از کنسول PostgreSQL خارج نشوید).

توجه کنید کسی که قرار است در نهایت به PostgreSQL وصل شود و از آن استفاده کند، نرم افزار Jira است. جلوتر خواهیم دید که این نرم افزار هنگام نصب، یک کاربر بر روی سرور ما خواهد ساخت پس باید یک Role برای آن کاربر در PostgreSQL ایجاد کنیم تا بتواند به دیتابیس وصل شود. اجرای دستور زیر در کنسول PostgreSQL یک Role به نام jiradbuser و با کلمه عبور p@ssW0rd در PostgreSQL ایجاد می‌کند. توجه کنید که این نام و کلمه عبور آن را در جای امنی یادداشت کنید زیرا جلوتر در تنظیمات Jira به آن نیاز خواهید داشت.

postgres=# CREATE USER jiradbuser WITH PASSWORD 'p@ssW0rd';

 

در کنسول PostgreSQL با اجرای دستور زیر یک دیتابیس جدید به نام jiradb ایجاد خواهیم کرد که نرم‌افزار Jira از آن برای ذخیره‌سازی issue ها استفاده کند:

postgres=# CREATE DATABASE jiradb WITH ENCODING 'UNICODE' LC_COLLATE 'C' LC_CTYPE 'C' TEMPLATE template0;

 

حال برای اینکه کاربر jiradbuser بتواند از دیتابیس ساخته شده استفاده کند نیازمند مجوز‌های مربوطه است که با اجرای دستور زیر در کنسول PostgreSQL به این مجوز ها دست پیدا خواهد کرد:

postgres=# GRANT ALL PRIVILEGES ON DATABASE jiradb TO jiradbuser;

 

تا اینجای کار، شما PostgreSQL را به عنوان یک سرویس فعال روی سرور نصب کرده اید و روی آن دیتابیس و کاربر برای نرم‌افزار Jira ساخته اید. کار ما در اینجا با PostgreSQL تمام شده پس با اجرای دستور q\ از کنسول PostgreSQL خارج شوید.

دقت کنید که چون قبلا با کاربر postgres به سرور لاگین کرده بودیم، با خروج از کنسول PostgreSQL به ترمینال این کاربر بازخواهیم گشت. بنابراین با اجرای دستور زیر از حساب کاربری postgres خارج شده و به حساب کاربری خود برگردید:

logout

 

آخرین نسخه از پکیج Jira بسته به نیاز که Jira Software یا Jira Service Desk است را از سایت رسمی آن دانلود می‌کنیم.

Jira Software : https://www.atlassian.com/software/jira/download

Jira Service Desk : https://www.atlassian.com/software/jira/service-desk/download

برای اجرای این فایل نصب، لازم است به آن مجوز اجرایی بدهیم:

$ chmod a+x atlassian-jira-software-x.x.x-x64.bin

 

حال با اجرای دستور زیر، شروع به نصب نرم‌افزار Jira می‌کنیم:

$ sudo ./atlassian-jira-software-x.x.x-x64.bin

 

در هنگام نصب Jira، هشت سوال از شما پرسیده می‌شود که می‌توانید به آنها پاسخ داده و یا (به جز آخرین سوال) با زدن کلید Enter برای هر سوال از پاسخ پیش‌فرض استفاده کنید. سوالاتی که در این مرحله پرسیده می‌شودند عبارتند از:

سوال اول

This will install JIRA Software x.x.x on your computer.
OK [o, Enter], Cancel [c]

با زدن کلید Enter یا زدن کلید o و سپس Enter نصب برنامه آغاز می‌شود.

سوال دوم

Choose the appropriate installation or upgrade option.
Please choose one of the following:
Express Install (use default settings) [1], Custom Install (recommended for advanced users) [2, Enter], Upgrade an existing JIRA installation [3]

با زدن کلید Enter یا زدن کلید ۲ و سپس Enter گزینه نصب سفارشی انتخاب می‌شود که به شما اجازه ‌می‌دهد محل نصب و ... را تغییر دهید.

سوال سوم

Where should JIRA Software be installed?
[/opt/atlassian/jira]

 

با زدن کلید Enter نرم‌افزار در مسیر پیشفرض (/opt/atlassian/jira) نصب می‌شود. در صورت لزوم می‌توانید این مسیر را تغییر داده و سپس Enter را بزنید.

سوال چهارم

Default location for JIRA Software data
[/var/atlassian/application-data/jira]

 

با زدن کلید Enter داده های نرم‌افزار مثل فایل های ضمیمه issue ها، در مسیر پیشفرض (/opt/atlassian/jira) دخیره می‌شوند. در صورت لزوم می‌توانید این مسیر را تغییر داده و سپس Enter را بزنید.

 

سوال پنجم

Configure which ports JIRA Software will use.
JIRA requires two TCP ports that are not being used by any other
applications on this machine. The HTTP port is where you will access JIRA
through your browser. The Control port is used to startup and shutdown JIRA.
Use default ports (HTTP: 8080, Control: 8005) - Recommended [1, Enter], Set custom value for HTTP and Control ports [2]

 

با زدن کلید Enter پورت ۸۰۸۰ برای اتصال کاربران به سرویس Jira از طریق Web Browser در نظر گرفته می‌شود. اگر این پورت قبلا توسط نرم‌افزار دیگری اشغال شده است، می‌توانید آن را تغییر داده و سپس Enter بزنید.
ممکن است این پورت توسط Firewall نصب شده روی سرور شما مسدود شده باشد که در این صورت لازم است در تنظیمات مربوط به Firewall آن را باز کنید. این سایت به شما کمک می‌کند تا بررسی کنید که پورت ۸۰۸۰ (یا هر پورت دیگری) در سرور شما باز است یا خیر.

سوال ششم

JIRA can be run in the background.
You may choose to run JIRA as a service, which means it will start
automatically whenever the computer restarts.
Install JIRA as Service?
Yes [y, Enter], No [n]

با زدن کلید Enter و یا زدن کلید y و بعد Enter، نرم‌افزار Jira به عنوان یک سرویس در اوبونتو شناخته شده و هربار که سرور بوت شد به صورت خودکار اجرا می‌شود.

 

سوال هفتم

Details on where JIRA Software will be installed and the settings that will be used.
Installation Directory: /opt/atlassian/jira
Home Directory: /var/atlassian/application-data/jira
HTTP Port: 8080
RMI Port: 8005
Install as service: Yes
Install [i, Enter], Exit [e]

 

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

سوال هشتم (مهم)

Installation of JIRA Software x.x.x is complete
Start JIRA Software 8.1.0 now?
Yes [y, Enter], No [n]

در این مرحله، نصب Jira پایان یافته و از شما سوال می‌شود که آیا مایلید این نرم‌افزار اجرا شود؟! دقت کنید که اگر می‌خواهید این نرم‌افزار را کرک کنید،‌ حتما با فشردن کلید n و سپس Enter جلوی اجرا شدن برنامه در این مرحله را بگیرید.

کرک کردن نرم‌افزار Jira

مرحله اول

در مرحله اول لازم است فایلی با نام atlassian-extras-x.x.jar (که بسته به نسخه جیرا ، ورژن آن متفاوت است مثلا atlassian-extras-2.2.jar ) که در مسیر زیر قرار دارد را با فایل دیگری جایگزین کنیم

/opt/atlassian/jira/atlassian-jira/WEB-INF/lib/

توجه کنید که استفاده از فایل‌هایی که با نسخه جیرای شما تطابق نداشته باشد باعث اختلال در کار جیرا خواهد شد.

برای دریافت آخرین نسخه (یا نسخه مناسب جیرای شما) فایل جایگزین به سایت ratosan.com مراجعه کنید و با معرفی ورژن جیرای خود فایل مناسب را دریافت نمایید.

 

مرحله دوم

با نصب Plugin ها و افزودن آنها به Jira می‌توان امکانات تکمیلی ویژه ای مثل،خودکاری سازی فرآیندهای جیرا،افزودن انواع داشبوردها و BI ، نمودار گانت، نمودار نقشه راه، اتصال به InvisionApp، ارتباط با Slack و تلگرام و امکانات بسیار زیاد دیگری را به جیرا اضافه نمایید.

برای اینکه بتوانید پلاگین های جیرا را نیز نصب کنید لازم است فایلی به نام atlassian-universal-plugin-manager-plugin-x.x.x.jar (که بسته به ورژن جیرا نسخه این فایل نیز متفاوت است) را نیز در مسیر زیر جایگزین کنید

/opt/atlassian/jira/atlassian-jira/WEB-INF/atlassian-bundled-plugins/

توجه کنید که استفاده از فایل‌هایی که با نسخه جیرای شما تطابق نداشته باشد باعث اختلال در کار جیرا خواهد شد.

 

اجرای سرویس Jira

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

$ sudo service jira start

باز کردن Dashboard و انجام تنظیمات اولیه

حال با استفاده از یکی از کامپیوتر های متصل به شبکه، وارد یک مرورگر وب (مثلا Google Chrome) شده و در نوار آدرس، آدرس IP سروری که Jira را روی آن نصب کردید به همراه شماره پورتی که هنگام نصب به Jira اختصاص داده اید را وارد کنید. به عنوان مثال اگر آدرس سرور جیرا 192.168.32.31 باشد:

192.168.32.31:8080

با زدن کلید Enter، صفحه تنظیمات اولیه Jira باز می‌شود. اگر این صفحه باز نشد، اول مطمین شوید کامپیوتر شما و سرور در یک شبکه قرار دارند (برای این کار می‌توانید سرور را از کامپیوتر خود Ping کنید) و اگر مشکل از شبکه نبود، احتمالا Firewall نصب شده روی سرور، پورت مورد استفاده ی Jira را مسدود کرده است. برای اطمینان می‌توانید باز بودن پورت روی سرور را با استفاده از این سایت بررسی کنید. اگر مطمین شدید که پورت استفاده شده بسته است می‌توانید از دستورات زیر در سرور برای باز کردن آن استفاده کنید:

$ iptables -A INPUT -m state --state NEW -p tcp --dport 8080 -j ACCEPT
$ /etc/init.d/iptables restart

 

در صفحه تنظیمات اولیه دو گزینه وجود دارد. گزینه دوم (I'll set it up myself) را انتخاب کرده و روی دکمه Next کلیک کنید.

 

صفحه دوم مربوط به تنظیمات Database است. گزینه دوم (My Own Database) را انتخاب کرده، مشخصات Database که قبلا برای این منظور روی سرور نصب کردیم را وارد و بعد روی Next کلیک کنید.

  • نوع دیتابیس را PostgreSQL انتخاب کنید.
  • در فیلد Hostname آدرس سروری که دیتابیس روی آن نصب شده را وارد کنید. از آنجا که ما PostgreSQL را روی همان سروری که Jira نصب شده، نصب کرده ایم از localhost به عنوان آدرس سرور دیتابیس استفاده کردیم.
  • پورت پیشفرض برای اتصال به PostgreSQL پورت شماره 5432 است که آن را در فیلد Port وارد می‌کنیم.
  • نام دیتابیسی که برای Jira ساختیم jiradb بود. آن را در فیلد Database وارد می‌کنیم.
  • نام کاربری و کلمه عبوری که برای اتصال Jira به PostgreSQL ساخته بودیم را نیز وارد می‌کنیم.
  • در فیلد Schema هم یک نام (در اینجا public) به شماتیک دیتابیس میدهیم

در صفحه سوم  مقابل Application Title نام شرکت یا برند خود را وارد کنید، مد Private را انتخاب کرده و آدرس وبی که برای Jira در نظر گرفته اید را وارد کنید. اگر دامین خاصی را برای Jira در نظر نگرفته اید می‌توانید آن را به حالت پیشفرض (IP:PORT) رها کرده و روی دکمه Next کلیک کنید، اما اگر قرار است از یک دامنه مثلا jira.your-domain.com استفاده کنید، آنرا در این بخش وارد کنید.

 

در مرحله بعد باید شماره سریالی که برای Jira را وارد کنید.

 

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

 

صفحه ششم مربوط به تنظیمات ایمیل است. این تنظیمات به Jira اجازه می‌دهد که تغییر وضعیت issue ها را از طریق ایمیل به کاربران اطلاع دهد. اگر فعلا تمایلی به داشتن این ویژگی ندارید می‌توانید گزینه later را انتخاب کنید.

در صفحه هفتم می‌توانید زبان Jira را انتخاب کنید

در هشتمین صفحه می‌توانید یک Avatar برای حساب کاربریتان (حساب کاربری مدیر) انتخاب کنید تا سایر همکاران به راحتی شما را بشناسند.

 

با کلیک بر روی دکمه Next کار شما پایان یافته و در صفحه بعد می‌توانید یک پروژه در Jira ایجاد و مدیریت کنید. پس از آن می‌توانید برای سایر افراد تیم نیز حساب کاربری بسازید.

 

مرحله سوم کرک کردن برنامه

از منوی بالای دشبورد، تصویر چرخ‌دنده و سپس گزینه Application را انتخاب کنید.

 

در پایین صفحه و زیر بخش Jira Core بر روی گزینه Paste licence کلیک کنید.

 

حال باید مشخصات مربوط به شماره سریال ظاهر شود.

نصب جیرا سرویس دسک (Jira Service Desk)

در صورتی که نسخه ای که از سایت atlassian.com دانلود کرده اید مربوط به جیرا سرویس دسک باشد در مرحله اول وارد کردن لاسنس، لازم است لاسنس مربوط به جیرا سرویس دسک را وارد نمایید.

در صورتی که نسخه نصبی شما Jira Software است و قصد دارید جیرا سرویس دسک را نیز نصب کنید از لینک زیر نسخه مربوطه را دانلود کنید و از قسمت Application‌ در بخش Administrator جیرا آن را بار گذاری کنید.

 

 

نصب افزونه های جیرا

جیرا از افزونه های بسیار قدرتمندی برخوردار است که می‌توانید بر روی جیرا خود نصب کنید و از امکانات بی نظیر آن ها استفاده کنید. پس از نصب افزونه ها برای دریافت لاسنس مربوط به افزونه ها به سایت ratosan.com  مراجعه و در قسمت لایسنس افزونه وارد نمایید.

 

 

 


سوالات متداول

1. برای اینکه به جای IP و Port با یک نام دامنه مثل jira.your-site.com به Jira متصل شویم باید چکار کنیم؟

پاسخ: یک A Record روی DNS برای اشاره به سرور Jira اضافه کنید. یک HTTP Server مثل Nginx روی سرور نصب کنید و پورت ۸۰ (HTTP) یا ۴۴۳ (HTTPS) آنرا توسط یک Server Block به پورت ۸۰۸۰ (پورت سرویس Jira) پراکسی کنید. سپس فایل تنظیمات Apache Tomcat را نیز مطابق این لینک تغییر دهید تا متوجه حضور Nginx باشد. حال می‌توانید سایر پورت ها از جمله 8080 را توسط Firewall مسدود کنید.

 

2. چگونه از اطلاعات Jira بک آپ بگیریم؟
پاسخ: اطلاعات Jira در دو بخش ذخیره می‌شوند. issue ها و user ها و ... در دیتابیس ذخیره می‌شوند که برای بک‌آپ گیری می‌توان از روش های مرسوم برای بک‌آپ گیری از دیتابیس مثل pg_dump استفاده کرد و یا از منوی تنظیمات Jira، یک بک‌آپ به شکل فایل XML گرفت. بخش دوم از اطلاعات Jira مثل فایل هایی که به issue ها ضمیمه شده اند،‌ در دایرکتوری Data ذخیره می‌شوند که برای بک‌آپ گیری از آنها باید یک Cron Job نوشت و آنها را در جایی کپی کرد.

 

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