Replace CLI examples with multi-stage Dockerfile examples
- Web: Build app and serve with nginx - Android: Extract APK from multi-stage build - Linux: Build desktop app with minimal runtime - Consolidated CI/CD section Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
eeaf0d00a5
commit
a92326374d
65
README.md
65
README.md
@ -32,34 +32,51 @@ Lightweight Flutter SDK images for CI/CD pipelines. Built on [Wolfi](https://wol
|
|||||||
- **Non-root** - Runs as unprivileged user (UID 65532)
|
- **Non-root** - Runs as unprivileged user (UID 65532)
|
||||||
- **Supply chain security** - SBOM and SLSA provenance attestations included
|
- **Supply chain security** - SBOM and SLSA provenance attestations included
|
||||||
|
|
||||||
## Usage
|
## Dockerfile Examples
|
||||||
|
|
||||||
### Web
|
### Web App
|
||||||
|
|
||||||
```bash
|
```dockerfile
|
||||||
docker run --rm -v $(pwd):/app -w /app svrnty/flutter-sdk:web-latest \
|
FROM svrnty/flutter-sdk:web-latest AS build
|
||||||
flutter build web
|
COPY . /app
|
||||||
|
WORKDIR /app
|
||||||
|
RUN flutter pub get && flutter build web --release
|
||||||
|
|
||||||
|
FROM nginx:alpine
|
||||||
|
COPY --from=build /app/build/web /usr/share/nginx/html
|
||||||
|
EXPOSE 80
|
||||||
```
|
```
|
||||||
|
|
||||||
### Android
|
### Android APK
|
||||||
|
|
||||||
```bash
|
```dockerfile
|
||||||
docker run --rm -v $(pwd):/app -w /app svrnty/flutter-sdk:android-latest \
|
FROM svrnty/flutter-sdk:android-latest AS build
|
||||||
flutter build apk
|
COPY . /app
|
||||||
|
WORKDIR /app
|
||||||
|
RUN flutter pub get && flutter build apk --release
|
||||||
|
|
||||||
|
FROM scratch
|
||||||
|
COPY --from=build /app/build/app/outputs/flutter-apk/app-release.apk /
|
||||||
```
|
```
|
||||||
|
|
||||||
### Linux Desktop
|
### Linux Desktop
|
||||||
|
|
||||||
```bash
|
```dockerfile
|
||||||
docker run --rm -v $(pwd):/app -w /app svrnty/flutter-sdk:linux-latest \
|
FROM svrnty/flutter-sdk:linux-latest AS build
|
||||||
flutter build linux
|
COPY . /app
|
||||||
|
WORKDIR /app
|
||||||
|
RUN flutter pub get && flutter build linux --release
|
||||||
|
|
||||||
|
FROM ubuntu:22.04
|
||||||
|
RUN apt-get update && apt-get install -y libgtk-3-0 && rm -rf /var/lib/apt/lists/*
|
||||||
|
COPY --from=build /app/build/linux/x64/release/bundle /app
|
||||||
|
ENTRYPOINT ["/app/my_app"]
|
||||||
```
|
```
|
||||||
|
|
||||||
## CI/CD Examples
|
## CI/CD
|
||||||
|
|
||||||
### GitHub Actions
|
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
# GitHub Actions / Gitea Actions
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@ -67,31 +84,19 @@ jobs:
|
|||||||
image: svrnty/flutter-sdk:android-latest
|
image: svrnty/flutter-sdk:android-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
- run: flutter pub get
|
||||||
- run: flutter build apk --release
|
- run: flutter build apk --release
|
||||||
```
|
```
|
||||||
|
|
||||||
### GitLab CI
|
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
# GitLab CI
|
||||||
build:
|
build:
|
||||||
image: svrnty/flutter-sdk:android-latest
|
image: svrnty/flutter-sdk:android-latest
|
||||||
script:
|
script:
|
||||||
|
- flutter pub get
|
||||||
- flutter build apk --release
|
- flutter build apk --release
|
||||||
```
|
```
|
||||||
|
|
||||||
### Gitea Actions
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
container:
|
|
||||||
image: svrnty/flutter-sdk:android-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- run: flutter build apk --release
|
|
||||||
```
|
|
||||||
|
|
||||||
## Tags
|
## Tags
|
||||||
|
|
||||||
- `<variant>-latest` - Latest stable Flutter release
|
- `<variant>-latest` - Latest stable Flutter release
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user