J'expérimente avec la construction d'une application java gradle. Mon pipeline ressemble à ceci:Le dossier d'entrée de tâche Concourse est vide
---
resources:
- name: hello-concourse-repo
type: git
source:
uri: https://github.com/ractive/hello-concourse.git
jobs:
- name: gradle-build
public: true
plan:
- get: hello-concourse-repo
trigger: true
- task: build
file: hello-concourse-repo/ci/build.yml
- task: find
file: hello-concourse-repo/ci/find.yml
Le build.yml ressemble:
---
platform: linux
image_resource:
type: docker-image
source:
repository: java
tag: openjdk-8
inputs:
- name: hello-concourse-repo
outputs:
- name: output
run:
path: hello-concourse-repo/ci/build.sh
caches:
- path: .gradle/
Et le build.sh:
#!/bin/bash
export ROOT_FOLDER=$(pwd)
export GRADLE_USER_HOME="${ROOT_FOLDER}/.gradle"
export TERM=${TERM:-dumb}
cd hello-concourse-repo
./gradlew --no-daemon build
mkdir -p output
cp build/libs/*.jar output
cp src/main/docker/* output
ls -l output
Et enfin find.yml
---
platform: linux
image_resource:
type: docker-image
source: {repository: busybox}
inputs:
- name: output
run:
path: ls
args: ['-alR']
La sortie de ls à la fin du fichier bash.sh s cript me montre que le dossier de sortie contient les fichiers attendus, mais la tâche de trouver affiche uniquement les dossiers vides:
Qu'est-ce que je fais mal que le dossier output
que j'utilise comme une entrée dans la découverte la tâche est vide?
L'exemple complet peut être trouvé here avec les fichiers de concours dans le sous-dossier ci.
Cela a du sens. Je comprends maintenant que le bonjour-concours-repo est juste le répertoire de caisse du repo git. J'ai toujours eu l'impression que c'était un répertoire qui avait été créé pour cette tâche spécifique. – James