No se encontraron artefactos que coincidan con el patrón de archivo "** / target / *. Apk"
Conseguí esta salida de la consola de Jenkins mientras que intentaba compilar un proyecto del androide: apenas observo que no hice ningún cambio en la clase principal que ésta es la consola de los jenkins:
[INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 10.701s [INFO] Finished at: Thu May 29 17:56:45 CEST 2014 [INFO] Final Memory: 24M/491M [INFO] ------------------------------------------------------------------------ [JENKINS] Archiving /var/opt/jenkins/workspace/Android-Project-App/trunk/pom.xml to com.proj.android.project.mobile/project-android/0.0.1-SNAPSHOT/project-android-0.0.1-SNAPSHOT.pom [JENKINS] Archiving /var/opt/jenkins/workspace/Android-Project-App/trunk/assets/build/project-android.apk to com.proj.android.project.mobile/project-android/0.0.1-20140529.155643-5/project-android-0.0.1-20140529.155643-5.apk [JENKINS] Archiving /var/opt/jenkins/workspace/Android-Project-App/trunk/assets/build/project-android.jar to com.proj.android.project.mobile/project-android/0.0.1-20140529.155643-5/project-android-0.0.1-20140529.155643-5.jar channel stopped Archiving artifacts ERROR: No artifacts found that match the file pattern "**/target/*.apk". Configuration error? ERROR: '**/target/*.apk' doesn't match anything: '**' exists but not '**/target/*.apk' Build step 'Archive the artifacts' changed build result to FAILURE IRC notifier plugin: Sending notification to: #jenkins Finished: FAILURE
Y este es mi pom:
- ¿Cómo subir el módulo a JCenter usando el plugin de binario de gradle?
- ¿Por qué las versiones de Android en Maven Central no incluyen Google Apis (mapas)?
- Error de ejecución de la tarea ': bintrayUpload'.
- Instalar jar con dependencias para el repositorio maven (Android gcm-server push library)
- Las bibliotecas nativas (archivos .so) no se agregan a un proyecto android
<?xml version="1.0" encoding="UTF-8"?> <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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.proj</groupId> <artifactId>android</artifactId> <version>1.1-SNAPSHOT</version> </parent> <groupId>com.proj.android.project.mobile</groupId> <artifactId>project-android</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>apk</packaging> <name>project Android Application</name> <description>project mobile application for android client</description> <url>http://maven.apache.org</url> <issueManagement> <system>jira</system> <url>http://www/jira/browse/${jira.project.key}</url> </issueManagement> <scm> <connection>scm:svn:http://svn/android/project-mobile-app/trunk/</connection> <developerConnection>scm:svn:https://svn/android/project-mobile-app/trunk/</developerConnection> <url>http://svn/web/wsvn/android/project-mobile-app/</url> </scm> <dependencyManagement> <dependencies> <!-- Android dependencies --> <dependency> <groupId>android</groupId> <artifactId>android</artifactId> <scope>provided</scope> <version>4.0.3_r2</version> </dependency> <dependency> <groupId>android</groupId> <artifactId>support-v4</artifactId> <version>r6</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> <version>${junit.version}</version> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-plugin-api</artifactId> <version>3.1</version> </dependency> <dependency> <groupId>bouncycastle</groupId> <artifactId>bcprov-jdk14</artifactId> <version>138</version> </dependency> <!-- <dependency> --> <!-- <groupId>com.proj.android.sample</groupId> --> <!-- <artifactId>pdf-viewer-ng</artifactId> --> <!-- <type>apklib</type> --> <!-- <version>1.0-SNAPSHOT</version> --> <!-- </dependency> --> <dependency> <groupId>com.proj.project.client</groupId> <artifactId>project-client</artifactId> <version>${project-client.version}</version> </dependency> </dependencies> </dependencyManagement> <build> <finalName>${project.artifactId}</finalName> <sourceDirectory>build</sourceDirectory> <directory>${project.basedir}/assets/build</directory> <pluginManagement> <plugins> <plugin> <groupId>com.jayway.maven.plugins.android.generation2</groupId> <artifactId>android-maven-plugin</artifactId> <version>2.4</version> <configuration> <extractDuplicates>true</extractDuplicates> </configuration> </plugin> </plugins> </pluginManagement> </build> <properties> <android.version>4.0.3_r2</android.version> <android.sdk>15</android.sdk> <android.emulator.avd>AVD_15_4_0_3</android.emulator.avd> <jira.project.key>UNIAPPAND-1</jira.project.key> <junit.version>4.11</junit.version> <com.proj.project.client>1.0-SNAPSHOT</com.proj.project.client> </properties> </project>
Creo que mi problema proviene del directorio de destino porque jenkins mencionó eso. Tenía 3 directorios en jenkins: assets, res et src ¿Debo agregar más entonces estas tres carpetas? Por ejemplo libs o destino?
- ¿Puede un AAR incluir dependencias transitivas?
- VerrifyError con Guice en el proyecto de Android maven
- Cómo construir un proyecto Android de Maven en eclipse
- Android - Proguard con httpcore y httpmime con Android Studio y Gradle
- Propiedad de Android maven - manifestmerger
- Maven archétype para un proyecto android
- Intellij 12 maven library Android Problema de RestTemplate que procesa javax / xml / parser / DocumentBuilder.class
- Dex: ¿Cómo configurar dex.force.jumbo = true en Maven pom a través de android-maven-plugin?
El paso posterior a la creación de Artifacts de archivo no se preocupa por su POM. Todo lo que hace es buscar archivos en su carpeta de espacio de trabajo, es decir, $WORKSPACE
(también accesible a través de http://[jenkins-url]/job/[job-name]/ws
) y archiva aquellos dentro del historial de compilación de Jenkin.
Los archivos que está intentando archivar deben existir en el $WORKSPACE
. Desde su configuración, está intentando archivar **/target/*.apk
que significa "bajo cualquier ruta, target
carpeta con cualquier archivo y extensión .apk
" . No puede encontrar que, ya que su espacio de trabajo no tiene target
carpeta en cualquier lugar, por lo tanto, el ERROR: '**/target/*.apk' doesn't match anything: '**' exists but not '**/target/*.apk'
En su archivo POM, tiene la siguiente línea: <directory>${project.basedir}/assets/build</directory>
Esto es lo que identifica dónde terminan los archivos. Es [base-dir-of-pom]/assets/build
, no target
.
Además, forme el registro de la consola:
[JENKINS] Archiving /var/opt/jenkins/workspace/Android-Project-App/trunk/assets/build/project-android.apk
Lo cual demuestra que tu .apk
encuentra en realidad en trunk/assets/build
Para el patrón de archivo Archivos , debe utilizar:
**/assets/build/*.apk
Y como cuestión de hecho, usted podría utilizar sólo:
**/build/*.apk
o incluso
**/*.apk
Pero la pregunta es: ¿realmente desea archivar los artefactos en Jenkins (que toma espacio) cuando ya está archivando los artefactos con Maven?