makalah continuum, maven dan artifactory
TRANSCRIPT
Maven, Continuum dan Antifactory
DISUSUN OLEH:
Hadi Permana
Septian Dwi
Tri Jayanti L
Feni Fauziah
Wahyu Ramadhan
PENDAMPING KELOMPOK:
Denny Febrianto
KEMENTERIAN KEUANGAN REPUBLIK INDONESIADIREKTORAT JENDERAL BEA DAN CUKAI
2015
1
1. Latar Belakang
Pada saat membuat sebuah project JAVA, biasanya kita akan langsung
membuka IDE lalu mulai membuat project dari sana. Dari sini sekilas nampak tidak
ada masalah, namun yang terjadi adalah project yang kita buat dengan IDE tertentu
belum tentu bisa dibuka dari IDE yang lain atau jika bisa project tersebut harus dibuka
dengan konfigurasi - konfigurasi yang cukup merepotkan, hal itu dikarenakan masing
masing IDE memiliki standarnya sendiri.
Kemudian apabila kita akan coba menambahkan library ke dalam project
tersebut. Dengan cara manual kita bisa mendownload semua file yang kita butuhkan
dan menaruhnya didalam classpath project. Tetapi kadang tidak semudah itu, bisa
jadi library itu membutuhkan dependency library yang lain dan dependency library
itu membutuhkan dependency library yang lain lagi dan seterusnya. Jika seperti itu
dapat dibayangkan apabila harus mencari file satu persatu akan sangat melelahkan.
Masalah belum berhenti sampai disini, misalnya kita ingin berbagi project
kita dengan orang lain. Biasanya kebanyakan orang malas atau lupa untuk
mengikutkan library dari project yang akan dibagikan tersebut, sehingga orang lain
yang ingin memanfaatkan project tersebut harus mencari library yang dibutuhkan satu
persatu, sangat tidak praktis.
Untuk mengatasi permasalahan diatas kita bisa menggunakan tools dari
Apache yang bernama Maven. Maven memiliki struktur project standar yang
membuat Maven flexsible terhadap IDE apapun. Maven juga menyediakan online
repository yang memudahkan kita untuk download secara otomatis library yang kita
butuhkan beserta dependencynya.
Kemudian untuk mempermudah Maven menyimpanan library yang
digunakan dalam membangun suatu aplikasi, dibutuhkan Artifactory yang merupakan
local repository yang berisi kumpulan library yang diperlukan dalam membangun
aplikasi tersebut.
Ketika membuat sebuah project yang dikerjakan oleh team, maka akan
diperlukan git atau subversion untuk mengatur proses perkembangan project,
sehingga project yang dikerjakan secara bersama-sama oleh anggota team akan
terekam, urut dan mempermudah anggota team meng-update module project yang
telah dikerjakan rekannya secara langsung.
2
Pada saat project dikerjakan oleh team, masing - masing anggotanya akan
membuilt aplikasi tersebut di PC-nya masing - masing dan langsung mendeploy
aplikasi tersebut di node server. Terkadang ketika mendeploy aplikasi terjadi
perbedaan versi antar node sehingga ketika salah satu node mati dan jalannya aplikasi
dialihkan pada node lain akan terjadi error. Hal tersebut bisa terjadi karena salah satu
anggota team lupa tidak mendeploy pada semua node server yang diperlukan atau
masih dilakukannya deploy yang tidak terstruktur.
Untuk menghindari hal tersebut dan memperbaiki struktur yang sudah ada
maka dibutuhkanlah Continuum. Continuum berkerja dengan cara membuild project
yang dikerjakan oleh team pada satu tempat sehingga pembaharuan program dapat
terkontrol dengan baik dengan hasil yang merata sehingga pada saat deploy akan
didapatkan versi aplikasi yang sama pada setiap node server.
Secara garis besar Maven adalah tools yang mendeskripsikan bagaimana
project yang akan dibangun dan dependency yang dibutuhkan. Lalu Artifactory
berfungsi sebagai local repository yang berisi kumpulan library yang dibutuhkan
project tersebut. Kemudian Continuum akan mengambil versi terakhir dari
subvertion / git yang berisi project berjenis Maven untuk kemudian di build di satu
tempat.
2. Continuum
Salah satu program Intergrasi server berkesinambungan (Continous
Integration Server) yang memungkinkan bagian-bagian suatu project dikerjakan oleh
perseorangan namun dibangun dalam satu server dan dibuild pada satu tempat,
sehingga pembaharuan program dapat di kontrol dan hasil suatu program dapat
seragam dan merata. Beberapa fitur dari Apache Continuum adalah :
Automated build
Relese management
Scheduler
Role-based security
3
Installasi Continuum
1. Download apache continuum pada link berikut : http://continuum.apache.org/download.cgi
2. File download dalam bentuk zip, unzip pada direktori yang anda inginkan. Pada contoh kali ini saya ekstrak pada direktori “C:\Program Files”
3. Buka “Command Prompt” lalu arahkan ke direktori bin yang ada di dalam folder continuum : #cd "Program Files\apache-continuum-1.4.1\bin"
4. Ketik perintah install : #continuum.bat install
5. Lalu start service continuum dengan perintah : #continuum console start
C:\Program Files\apache-continuum-1.4.1\bin>continuum console startwrapper | --> Wrapper Started as Consolewrapper | Launching a JVM...wrapper | Wrapper Process has not received any CPU time for 14 seconds. Extending timeouts.jvm 1 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.orgjvm 1 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved.jvm 1 |jvm 1 |jvm 1 | WARNING - Unable to load the Wrapper's native library because none of thejvm 1 | following files:jvm 1 | wrapper-windows-x86-64.dll
4
jvm 1 | wrapper.dlljvm 1 | could be located on the following java.library.path:jvm 1 | C:\Program Files\apache-continuum-1.4.1\libjvm 1 | Please see the documentation for the wrapper.java.library.pathjvm 1 | configuration property.jvm 1 | System signals will not be handled correctly.jvm 1 |jvm 1 | 2015-03-24 15:48:07.525:INFO:oejs.Server:jetty-8.1.7.v20120910jvm 1 | 2015-03-24 15:48:07.615:INFO:oejs.NCSARequestLog:Opened C:\Program Files\apache-continuum-1.4.1\logs\2015_03_24.request.logjvm 1 | 2015-03-24 15:48:07.655:INFO:oejdp.ScanningAppProvider:Deployment monitor C:\Program Files\apache-continuum-1.4.1\contexts at interval 1jvm 1 | 2015-03-24 15:48:07.695:INFO:oejd.DeploymentManager:Deployable added: C:\Program Files\apache-continuum-1.4.1\contexts\continuum.xmljvm 1 | 2015-03-24 15:48:12.285:INFO:oejpw.PlusConfiguration:No Transaction manager found - if your webapp requires one, please configure one.jvm 1 | 2015-03-24 15:48:13.395:INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/continuum,file:/C:/Program%20Files/apache-continuum-1.4.1/apps/continuum/},./apps/continuumjvm 1 | 2015-03-24 15:48:13.395:INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/continuum,file:/C:/Program%20Files/apache-continuum-1.4.1/apps/continuum/},./apps/continuumjvm 1 | 2015-03-24 15:48:13.395:INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/continuum,file:/C:/Program%20Files/apache-continuum-1.4.1/apps/continuum/},./apps/continuumjvm 1 | 2015-03-24 15:48:13.455:INFO:/continuum:Initializing Spring root WebApplicationContextjvm 1 | 2015-03-24 15:48:32.791:INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/continuum,file:/C:/Program%20Files/apache-continuum-1.4.1/apps/continuum/},./apps/continuumjvm 1 | 2015-03-24 15:48:32.871:INFO:oejsh.ContextHandler:started o.e.j.w.WebAppContext{/continuum,file:/C:/Program%20Files/apache-continuum-1.4.1/apps/continuum/},./apps/continuumjvm 1 | 2015-03-24 15:48:35.101:INFO:oejs.AbstractConnector:Started [email protected]:8090
3. Maven
Maven merupakan alat untuk melakukan build secara otomatis yang
digunakan terutama untuk project Java. Kelebihan dari Maven adalah mampu
mendeskripsikan sendiri kebutuhan software yang akan dibangun dan mampu
5
mendeskripsikan dependency-nya atau bahkan mencarikan dependency yang
dibutuhkan. Maven membahas 2 aspek dalam membangun project yaitu :
Mendeskripsikan bagaimana perangkat lunak akan dibangun
Mendeskripsikan dependency-nya
Installasi Maven1. Download apache Maven pada link berikut :
http://Maven.apache.org/download.cgi
2. File download dalam bentuk zip, unzip pada direktori yang anda inginkan. Pada contoh kali ini saya ekstrak pada direktori “C:\Program Files”
3. Setting Environment Variable di “Advanced System Settings”
4. Setting Path dan copy kan folder bin pada installasi Maven ke “variable value”
6
5. Cek apakah Maven sudah bisa berjalan atau belum dengan masuk ke “Command Prompt” lalu arahkan ke project yang sudah dibuat, kali ini kami membuat dengan NetBeans IDE. #mvn test-compile atau #mvn test
C:\Users\kid\Documents\NetBeansProjects\Mavenproject5>mvn test-compile[INFO] Scanning for projects...[INFO] ------------------------------------------------------------------------[INFO] Building The Mavenproject5 Project 1.0-SNAPSHOT[INFO] ------------------------------------------------------------------------Downloading: http://Mavensync.zkoss.org/Maven2/org/apache/Maven/plugins/Maven-resources-plugin/2.6/Maven-resources-plugin-2.6.pomDownloading: https://repo.Maven.apache.org/Maven2/org/apache/Maven/plugins/Maven-resources-plugin/2.6/Maven-resources-plugin-2.6.pomDownloaded: https://repo.Maven.apache.org/Maven2/org/apache/Maven/plugins/Maven-resources-plugin/2.6/Maven-resources-plugin-2.6.pom (8 KB at 0.1 KB/sec)Downloading: http://Mavensync.zkoss.org/Maven2/org/apache/Maven/plugins/Maven-resources-plugin/2.6/Maven-resources-plugin-2.6.jarDownloading: https://repo.Maven.apache.org/Maven2/org/apache/Maven/plugins/Maven-resources-plugin/2.6/Maven-resources-plugin-2.6.jarDownloaded: https://repo.Maven.apache.org/Maven2/org/apache/Maven/plugins/Maven-resources-plugin/2.6/Maven-resources-plugin-2.6.jar (29 KB at 3.8 KB/sec)[INFO][INFO] --- Maven-resources-plugin:2.6:resources (default-resources) @
7
Mavenproject5 ---Downloading: http://Mavensync.zkoss.org/Maven2/org/apache/Maven/shared/Maven-filtering/1.1/Maven-filtering-1.1.pomDownloading: https://repo.Maven.apache.org/Maven2/org/apache/Maven/shared/Maven-filtering/1.1/Maven-filtering-1.1.pomDownloaded: https://repo.Maven.apache.org/Maven2/org/apache/Maven/shared/Maven-filtering/1.1/Maven-filtering-1.1.pom (6 KB at 3.8 KB/sec)Downloading: http://Mavensync.zkoss.org/Maven2/org/apache/Maven/shared/Maven-filtering/1.1/Maven-filtering-1.1.jarDownloading: https://repo.Maven.apache.org/Maven2/org/apache/Maven/shared/Maven-filtering/1.1/Maven-filtering-1.1.jarDownloaded: https://repo.Maven.apache.org/Maven2/org/apache/Maven/shared/Maven-filtering/1.1/Maven-filtering-1.1.jar (43 KB at 3.9 KB/sec)[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources,i.e. build is platform dependent![INFO] skip non existing resourceDirectory C:\Users\kid\Documents\NetBeansProjects\Mavenproject5\src\main\resources[INFO][INFO] --- Maven-compiler-plugin:2.3.2:compile (default-compile) @ Mavenproject5 ---[INFO] Nothing to compile - all classes are up to date[INFO][INFO] --- Maven-resources-plugin:2.6:testResources (default-testResources) @ mavenproject5 ---[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources,i.e. build is platform dependent![INFO] skip non existing resourceDirectory C:\Users\kid\Documents\NetBeansProjects\Mavenproject5\src\test\resources[INFO][INFO] --- Maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ Mavenproject5 ---[INFO] No sources to compile[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 01:44 min
8
[INFO] Finished at: 2015-03-24T16:17:22+07:00[INFO] Final Memory: 13M/100M[INFO] ------------------------------------------------------------------------
4. Artifactory
Artifactory merupakan local repository yang berisi kumpulan library yang
diperlukan dalam membangun suatu project. Beberapa kelebihan Artifactory adalah:
Kemudahan administrasi artifact “in house”, library dependency yang di bangun internal team.
Artifactory sangat membantu menyediakan library lokal dalam suatu jaringan intranet
Artifactory memungkinkan sync secara otomatis dengan central repository. Mudah untuk untuk mengexport atau mengimport repository. Memudahkan dalam management library.
Installasi Artifactory
1. Download Artifactory di http://www.jfrog.com/open-source/2. Ekstrak Artifactory-3.5.3.zip 3. Set ARTIFACTORY_HOME pada user environment variable
9
4. Set path pada user environment variable
5. Jalankan Artifactory melalui command prompt dengan mengtikan artifactory.bat
6. Pastikan tampilan command prompt seperti gambar dibawah, ini menunjukan
kalau Artifactory sudah berjalan.
7. Secara default Artifactory akan berada di url localhost:8081/Artifactory, untuk menjalankannya dengan cara membuka web browser (chrome, mozilla) dan ketikan url diatas pada web address. Tampilan awal yang muncul adalah sebagai berikut :
10
8. Untuk mendapatkan hak akses secara penuh, login sebagai admin pada Artifactory dengan menggunakan.Username : admin.Password : password.
9. Tampilan setelah login sebagai admin.
11
DAFTAR PUSTAKA
http://blog.bielu.com/2008/02/maven-artifactory-continuum.html
https://continuum.apache.org/
https://en.wikipedia.org/wiki/Apache_Continuum
http://www.avajava.com/tutorials/lessons/what-is-continuum-and-how-do-i-install-
it.html
http://www.jfrog.com/open-source/#os-arti
http://tech.lifeway.com/2014/01/what-is-artifactory/
https://maven.apache.org/
https://en.wikipedia.org/wiki/Apache_Maven
http://wiki.netbeans.org/Maven