openstreetmap-data/Jenkinsfile
2024-09-24 17:38:41 +02:00

58 lines
1.9 KiB
Groovy

pipeline {
agent any
stages {
stage('Télécharger l\'export OSM de la France') {
steps {
script {
sh 'curl -L -o france-latest.osm.pbf http://download.openstreetmap.fr/extracts/europe/france-latest.osm.pbf'
}
}
}
stage('Filtrer les tags pour le routage') {
steps {
script {
sh 'osmium tags-filter france-latest.osm.pbf w/highway wa/public_transport=platform wa/railway=platform w/park_ride=yes r/type=restriction r/type=route -o france.osm.bz2 -f pbf,add_metadata=false'
}
}
}
stage('Créer des extraits régionaux/départementaux') {
steps {
script {
// Trouve tous les fichiers GeoJSON dans le workspace
def geojsonFiles = findFiles(glob: '**/*.geojson')
def tasks = []
// Exécute osmium extract pour chaque fichier GeoJSON en parallèle
geojsonFiles.each { geojsonFile ->
tasks << {
def geojsonName = geojsonFile.name.replace('.geojson', '')
sh "osmium extract --strategy complete_ways --polygon=${geojsonFile.path} france.osm.bz2 -o ${geojsonName}.osm.bz2"
}
}
// Exécute les tâches en parallèle
parallel tasks
}
}
}
stage('Archivage des extraits') {
steps {
archiveArtifacts artifacts: '**/*.osm.bz2', fingerprint: true
}
}
}
post {
always {
cleanWs(cleanWhenNotBuilt: false,
deleteDirs: true,
notFailBuild: true
)
}
}
}