continous-integration
Obsah
Continuous integration
- Apache Ant
- Apache Maven
- Gradle
- Jenkins
Apache Ant
build.xml
Apache Maven
Buildovací nástroj.
Maven central repository
Obsahuje JAVA knihovny různých verzí (i zdrojové kódy a dokumentace).
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
- 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>
- 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
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
- /etc/profile.d/maven.sh
# 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
build.gradle
Jenkins
continous-integration.txt · Poslední úprava: 2023/12/26 19:13 autor: 127.0.0.1