makalah continuum, maven dan artifactory

12
Maven, Continuum dan Antifactory DISUSUN OLEH: Hadi Permana Septian Dwi Tri Jayanti L Feni Fauziah Wahyu Ramadhan PENDAMPING KELOMPOK: Denny Febrianto KEMENTERIAN KEUANGAN REPUBLIK INDONESIA DIREKTORAT JENDERAL BEA DAN CUKAI 2015

Upload: independent

Post on 08-Nov-2023

0 views

Category:

Documents


0 download

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