Uživatelské nástroje

Nástroje pro tento web


continous-integration

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.


Předchozí verze
continous-integration [2023/12/26 19:13] (aktuální) – upraveno mimo DokuWiki 127.0.0.1
Řádek 1: Řádek 1:
 +====== Continuous integration ======
  
 +  * Apache Ant
 +  * Apache Maven
 +  * Gradle
 +  * Jenkins
 +
 +===== Apache Ant =====
 +
 +http://ant.apache.org
 +
 +<code>
 +build.xml
 +</code>
 +
 +===== 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 ====
 +
 +<code>
 +shell# mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=cz.isn.testapp -DartifactId=testapp
 +</code>
 +
 +==== Struktura projektu ====
 +
 +<code>
 +testapp
 +|-- pom.xml
 +`-- src
 +    |-- main
 +    |   `-- java
 +    |       `-- cz
 +    |           `-- isn
 +    |               `-- testapp
 +    |                   `-- App.java
 +    `-- test
 +        `-- java
 +            `-- cz
 +                `-- isn
 +                    `-- testapp
 +                        `-- AppTest.java
 +</code>
 +==== Konfigurační soubor ====
 +
 +**POM** = Project Object Model
 +
 +<file xml pom.xml>
 +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 +  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 +  <modelVersion>4.0.0</modelVersion>
 +
 +  <groupId>cz.isn.testapp</groupId>
 +  <artifactId>testapp</artifactId>
 +  <packaging>jar</packaging>
 +  <version>1.0-SNAPSHOT</version>
 +
 +  <name>testapp</name>
 +  <url>http://maven.apache.org</url>
 +
 +  <properties>
 +    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 +  </properties>
 +
 +  <dependencies>
 +    <dependency>
 +      <groupId>junit</groupId>
 +      <artifactId>junit</artifactId>
 +      <version>3.8.1</version>
 +      <scope>test</scope>
 +    </dependency>
 +  </dependencies>
 +</project>
 +</file>
 +
 +  * **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**
 +
 +<code>
 +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
 +</code>
 +
 +**Vytvořit konfiguraci pro path**
 +
 +<file shell /etc/profile.d/maven.sh>
 +# maven path
 +export MAVEN_HOME=/opt/ci/apache-maven-3.1.0
 +export PATH=${MAVEN_HOME}/bin:${PATH}
 +</file>
 +
 +**Odhásit, přihlásit a otestovat**
 +
 +<code>
 +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"
 +</code>
 +
 +==== 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
 +    * <code>;%MAVEN_HOME%\bin</code>
 +  - otestovat funkčnost
 +    * <code>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"
 +</code>
 +===== Gradle =====
 +
 +http://www.gradle.org
 +
 +<code>
 +build.gradle
 +</code>
 +
 +===== Jenkins =====
 +
 +http://jenkins-ci.org/