====== Continuous integration ====== * Apache Ant * Apache Maven * Gradle * Jenkins ===== Apache Ant ===== http://ant.apache.org build.xml ===== Apache Maven ===== Buildovací nástroj. http://maven.apache.org ==== Maven central repository ==== Obsahuje JAVA knihovny různých verzí (i zdrojové kódy a dokumentace). http://search.maven.org/ ==== Fáze ==== * **validate** - kontrola projektu\\ * **compile** - kompilace zdrojových kódů projektu\\ * **test** - unit testy\\ * **package** - zabalení do JAR nebo WAR\\ * **integration-test** - integrační testy\\ * **verify** - ověřění balíčku\\ * **install** - instalace balíčku do lokální repository, závislosti pro jiné lokální projekty\\ * **deploy** - nasazení ==== Vytvoření projektu ==== shell# mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=cz.isn.testapp -DartifactId=testapp ==== Struktura projektu ==== testapp |-- pom.xml `-- src |-- main | `-- java | `-- cz | `-- isn | `-- testapp | `-- App.java `-- test `-- java `-- cz `-- isn `-- testapp `-- AppTest.java ==== Konfigurační soubor ==== **POM** = Project Object Model 4.0.0 cz.isn.testapp testapp jar 1.0-SNAPSHOT testapp http://maven.apache.org UTF-8 junit junit 3.8.1 test * **modelVersion** = verze konfiguračního souboru XML pro maven\\ * **groupId** = skupina\\ * **artifactId** = název projektu\\ * **packaging** = JAR, WAR, EAR, ...\\ * **version** = verze projektu\\ * **name** = název projektu (dokumentace)\\ * **url** = odkaz na projekt (dokumentace)\\ * **description** = popis projektu (dokumentace)\\ * **dependecies** = závislosti\\ * a další -> [[http://maven.apache.org/ref/3.1.0/maven-model/maven.html|reference for the Maven project descriptor]] ==== IDE NetBeans ==== **File** -> **New Project** -> Categories: **Maven** -> Projects: **Java Application** ==== Instalace na CentOS 6 ==== **Stažení a rozbalení balíku** shell# mkdir /opt/ci shell# cd /opt/ci shell# wget -c -t 0 http://mirror.hosting90.cz/apache/maven/maven-3/3.1.0/binaries/apache-maven-3.1.0-bin.tar.gz shell# tar xvzf apache-maven-3.1.0-bin.tar.gz **Vytvořit konfiguraci pro path** # maven path export MAVEN_HOME=/opt/ci/apache-maven-3.1.0 export PATH=${MAVEN_HOME}/bin:${PATH} **Odhásit, přihlásit a otestovat** shell$ mvn -version Apache Maven 3.1.0 ... Maven home: /opt/ci/apache-maven-3.1.0 Java version: 1.6.0_45, vendor: Sun Microsystems Inc. Java home: /opt/java-jboss/jdk1.6.0_45/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "2.6.32-042stab078.28", arch: "amd64", family: "unix" ==== Instalace na Windows 7 ==== - rozbalit **apache-maven-3.1.0-bin.zip** např. do **C:\work\JAVA\ci\apache-maven-3.1.0** - **Ovládací panely** -> **Upřesnit nastavení systému** -> **Upřesnit** -> **Proměnné prostředí** -> **Nová...** * **Název proměnné:** MAVEN_HOME * **Hodnota proměnné:** C:\work\JAVA\ci\apache-maven-3.1.0 - **Upravit...** proměnná **PATH** a přidat * ;%MAVEN_HOME%\bin - otestovat funkčnost * C:\Users\blazek>mvn -version Apache Maven 3.1.0 ... Maven home: C:\work\JAVA\ci\apache-maven-3.1.0\bin\.. Java version: 1.6.0_45, vendor: Sun Microsystems Inc. Java home: C:\Program Files\Java\jdk1.6.0_45\jre Default locale: cs_CZ, platform encoding: Cp1250 OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows" ===== Gradle ===== http://www.gradle.org build.gradle ===== Jenkins ===== http://jenkins-ci.org/