kind: pipeline type: docker name: deploy-project steps: - name: deploy public_html image: alpine:3.20 volumes: - name: ididit path: /var/www/ididit commands: - | if [ -d public_html ] && [ "$(ls -A public_html)" ]; then target="/var/www/ididit/${DRONE_REPO_OWNER}/${DRONE_REPO_NAME}" echo "Déploiement vers $target" rm -rf "$target" mkdir -p "$target" cp -r public_html/* "$target/" echo "Déploiement terminé." ls -alh "$target" else echo "Aucun dossier public_html à déployer." fi when: branch: - main event: - push - name: build-web image: ghcr.io/cirruslabs/flutter:latest volumes: - name: ididit path: /var/www/ididit commands: - apt-get update && apt-get install -y tar - VERSION=$(grep '^version:' pubspec.yaml | awk '{print $2}') - | if [ -d web ]; then echo "Build Web..." flutter pub get flutter build web --release TARGET="/var/www/ididit/$DRONE_REPO_OWNER/$DRONE_REPO_NAME/releases/$VERSION/web" mkdir -p "$TARGET" tar czf "$TARGET/web-$VERSION.tgz" -C build/web . echo "Web bundle published as $TARGET/web-$VERSION.tgz" else echo "No web/ directory, skipping." fi - name: generate-versions-html image: alpine:3.20 volumes: - name: ididit path: /var/www/ididit commands: - OWNER="$DRONE_REPO_OWNER" - REPO="$DRONE_REPO_NAME" - RELEASES_DIR="/var/www/ididit/$OWNER/$REPO/releases" - REPO_URL="https://gitea.bymycode.com/$OWNER/$REPO" - | HTML="$RELEASES_DIR/index.html" echo '' > "$HTML" echo '' >> "$HTML" echo '' >> "$HTML" echo ' ' >> "$HTML" echo " Versions disponibles pour $REPO" >> "$HTML" echo ' ' >> "$HTML" echo '' >> "$HTML" echo '' >> "$HTML" echo "

Versions disponibles pour $REPO

" >> "$HTML" echo "
" >> "$HTML" echo " 📦 Voir le repository sur gitea.ByMyCode.com" >> "$HTML" echo "
" >> "$HTML" echo "
" >> "$HTML" for version_dir in $(ls -1 "$RELEASES_DIR" | sort -Vr); do if [ -d "$RELEASES_DIR/$version_dir" ]; then echo "

Version $version_dir

" >> "$HTML" # Linux bundle if [ -f "$RELEASES_DIR/$version_dir/linux/linux-$version_dir.tgz" ]; then echo "" >> "$HTML" fi # Android if [ -d "$RELEASES_DIR/$version_dir/android" ]; then for f in "$RELEASES_DIR/$version_dir/android/"*; do fname=$(basename "$f") echo "" >> "$HTML" done fi # Web bundle if [ -f "$RELEASES_DIR/$version_dir/web/web-$version_dir.tgz" ]; then echo "" >> "$HTML" fi echo "
" >> "$HTML" fi done echo "" >> "$HTML" echo "" >> "$HTML" echo "" >> "$HTML" echo "Fichier versions.html généré dans $HTML" - name: list-published image: alpine:3.20 volumes: - name: ididit path: /var/www/ididit commands: - ls -alR /var/www/ididit/$DRONE_REPO_OWNER/$DRONE_REPO_NAME/releases || echo "No releases published." volumes: - name: ididit host: path: /var/www/ididit