Coding4ever’s Blog

Just coding… coding… and coding… because coding should be fun :)

Manajemen Proyek Menggunakan Redmine Bagian 1

| Comments

Dalam pengembangan proyek, biasanya dibutuhkan aplikasi untuk mencatat hal-hal yang berhubungan dengan proyek yang sedang dikembangkan. Seperti daftar fitur, bug, dokumentasi dan seterusnya.

Selama ini ada beberapa aplikasi proyek manajemen yang biasa saya gunakan :

  • ToDo List - Aplikasi berbasis windows yang gratis dan open source. Salah satu kekurangannya adalah aplikasi ini adalah aplikasi standalone, sehingga akan menyulitkan untuk mengelola proyek yang dikerjakan oleh tim.
  • Trello - Aplikasi berbasis web yang simple, gratis dan online. Ini adalah salah satu aplikasi andalan saya sampai saat ini.
  • Redmine - Aplikasi berbasis web dengan fitur lengkap, gratis dan open source. Untuk menggunakan Redmine harus dilakukan instalasi terlebih dulu.

Pada bagian pertama ini kita hanya akan membahas instalasi Redmine dengan target database MySQL.

Instalasi

Redmine adalah aplikasi proyek manajemen berbasis web yang dikembangkan menggunakan framework Ruby on Rails. Dukungan database pun lumayan banyak seperti SQLite, MySQL, PostgreSQL dan SQL Server.

Untuk menginstall aplikasi berbasis web yang dikembangkan menggunakan framework Ruby on Rails tentu berbeda dengan menginstall aplikasi berbasis web yang dikembangkan menggunakan php.

Untuk saat ini ada banyak tool yang mempermudah proses instalasi Redmine seperti Web Platform Installer dan BitNami Redmine Stack. Tapi dipostingan kali ini kita akan melakukan instalasi secara manual.

Oke kita langsung saja, berikut adalah langkah-langkah instalasi Redmine.

Prerequisites

Hal-hal yang perlu kita siapkan sebelum masuk ke proses instalasi Redmine.

  • Install Ruby dan Development Kit. Untuk mempermudah instalasi anda bisa menggunakan RailsInstaller yang di dalamnya sudah diikutsertakan paket Ruby dan Development Kit.
  • Install MySQL.
  • Download MySQL Connector/C, kemudian ekstrak ke folder C:\mysql-connector

    kemudian copykan file libmysql.dll yang ada di folder C:\mysql-connector\lib ke folder C:\RailsInstaller\Ruby1.9.3\bin

  • Install ImageMagick (optional). Petunjuk instalasinya ada disini. Tujuan menginstall library ini adalah agar laporan yang dihasilkan Redmine seperti Gantt chart bisa disimpan dalam format png dan pdf.

Instalasi Redmine

  • Download source code terakhir Redmine, kemudian ekstrak ke folder yang sudah ditentukan misal C:\Redmine.

  • Membuat database kosong dengan nama redmine CREATE DATABASE redmine CHARACTER SET utf8;

  • Konfigurasi koneksi database

    Copykan file database.yml.example yang ada di folder config ke folder yang sama dengan nama database.yml. Kemudian edit file database.yml menggunakan editor kesayangan anda setelah itu update informasi yang ada di bagian production (database, host, username dan password).

    1
    2
    3
    4
    5
    6
    
    production:
      adapter: mysql2
      database: redmine
      host: localhost
      username: user_mysql
      password: password_user_mysql

Langkah-langkah berikut dijalankan melalui command prompt

  • Aktifkan command prompt
  • Set variabel environment CPATH dan LIBRARY_PATH ImageMagick (optional) set CPATH=C:\ImageMagick\include
    set LIBRARY_PATH=C:\ImageMagick\lib

  • Install library mysql gem install mysql2 --platform=ruby -- '--with-mysql-dir="C:\mysql-connector"'

  • Install bundler
    gem install bundler

  • Install semua paket gem yang dibutuhkan
    bundle install --without development test

  • Mengenerate session store secret. Untuk menyimpan cookie dan variabel session
    rake generate_secret_token

  • Membuat objek database
    set RAILS_ENV=production
    rake db:migrate

  • Set konfigurasi default
    set RAILS_ENV=production
    set REDMINE_LANG=en
    rake redmine:load_default_data

Setelah instalasi selesai, kita bisa melakukan tes dengan mengetikan skrip berikut : ruby script/rails server webrick -e production

kemudian akses url : http://localhost:3000/

Login dengan user dan password admin.

Sampai disini proses instalasi Redmine sudah berhasil :)

Mendaftarkan service Redmine ke Windows Service

Tentu enggak kren klo setiap ingin mengakses Redmine, kita harus selalu menjalankan skrip ruby script/rails server webrick -e production, jadi ada baiknya service Redminenya kita daftarkan sebagai service Windows.

Berikut langkah-langkah untuk mendaftarkan service Redmine sebagai Windows Service :

  • Aktifkan command prompt kemudian ketik perintah berikut
    gem install win32-service

  • Buat file dengan nama service.rb simpan di folder instalasi redmine

    kemudian copas kode berikut :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
REDMINE_DIR = 'C:\redmine'
LOG_FILE = "#{REDMINE_DIR}\\log\\service.log"

begin
  require 'win32/daemon'
  include Win32

  class RedmineService < Daemon

    def service_init
      File.open(LOG_FILE, 'a'){ |f| f.puts "Initializing service #{Time.now}" }

      @server_pid = Process.spawn 'ruby script/rails s -e production', :chdir => REDMINE_DIR, :err => [LOG_FILE, 'a']
    end

    def service_main
      File.open(LOG_FILE, 'a'){ |f| f.puts "Service is running #{Time.now} with pid #{@server_pid}" }
      while running?
        sleep 10
      end
    end

    def service_stop
      File.open(LOG_FILE, 'a'){ |f| f.puts "Stopping server thread #{Time.now}" }
      system "taskkill /PID #{@server_pid} /T /F"
      Process.waitall
      File.open(LOG_FILE, 'a'){ |f| f.puts "Service stopped #{Time.now}" }
      exit!
    end
  end

  RedmineService.mainloop

rescue Exception => e
  File.open(LOG_FILE,'a+'){ |f| f.puts " ***Daemon failure #{Time.now} exception=#{e.inspect}\n#{e.backtrace.join($/)}" }
  raise
end

  • Kembali lagi ke command prompt kemudian ketik perintah berikut sc create Redmine binPath= "C:\RailsInstaller\Ruby1.9.3\bin\rubyw -C C:\redmine\ service.rb"

  • Jalankan service redmine
    net start Redmine

Akhirnya selesai juga :), dan untuk langkah-langkah penggunaan Redmine insya Alloh akan kita bahas dilain kesempatan.

Selamat mencoba :)

aplikasi

Tentang Penulis

Software developer yang fokus mengembangkan aplikasi di atas platform .NET (Desktop, ASP.NET MVC, Web Service) dan Android. Senang mempelajari teknologi baru terutama di bidang OOP, Design Pattern, ORM, Database dan Continuous Integration & Deployment.
Saat ini bekerja sebagai staf IT di salah satu PTS di Yogyakarta sebagai senior software developer. Di waktu luang insya Alloh akan terus berbagi pengalaman di blog ini :)

« Manajemen Password Menggunakan KeePass Entity Framework Part 8 »

Comments