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-linux image: ghcr.io/cirruslabs/flutter:latest volumes: - name: ididit path: /var/www/ididit commands: - apt-get update && apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev tar - VERSION=$(grep '^version:' pubspec.yaml | awk '{print $2}') - | if [ -d linux ]; then echo "Build Linux..." flutter pub get flutter build linux --release TARGET="/var/www/ididit/$DRONE_REPO_OWNER/$DRONE_REPO_NAME/releases/$VERSION/linux" mkdir -p "$TARGET" tar czf "$TARGET/linux-$VERSION.tgz" -C build/linux/x64/release/bundle . echo "Linux bundle published as $TARGET/linux-$VERSION.tgz" else echo "No linux/ directory, skipping." fi - name: build-android image: ghcr.io/cirruslabs/flutter:latest volumes: - name: ididit path: /var/www/ididit environment: ANDROID_HOME: /opt/android-sdk commands: - VERSION=$(grep '^version:' pubspec.yaml | awk '{print $2}') - | if [ -d android ]; then echo "Build Android..." flutter pub get flutter build apk --release TARGET="/var/www/ididit/$DRONE_REPO_OWNER/$DRONE_REPO_NAME/releases/$VERSION/android" mkdir -p "$TARGET" cp build/app/outputs/flutter-apk/app-release.apk "$TARGET/$DRONE_REPO_NAME-$VERSION.apk" echo "Android build published to $TARGET" else echo "No android/ directory, skipping." fi - 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 "