update build

This commit is contained in:
Karim Pirzargar
2026-03-09 16:12:50 +03:30
parent 7ae5c25ebb
commit 99d30a6eb5
3 changed files with 89 additions and 76 deletions
+31 -21
View File
@@ -1,38 +1,48 @@
################################################################################ ########### MOODIO TEST ###########
# development ###################################
################################################################################
kind: pipeline kind: pipeline
type: docker type: docker
name: (main) build flutter web and push to artifactory name: (pwa-test) build pwa and scp to test server
steps: steps:
- name: pwa tag - name: build flutter
image: alpine/git:2.40.1 image: docker-mirror.ravanertebat.ir/ghcr/cirruslabs/flutter:3.38.10
commands: commands:
- APP_VERSION=$(git rev-list HEAD --count --no-merges)-$DRONE_BRANCH - flutter --version
- |
set -e
case "$DRONE_BRANCH" in
master) echo prod;;
uat) echo uat;;
dev) echo test;;
*) echo dev;;
esac > .environment
- echo "Branch ${DRONE_BRANCH}, Environment $(cat .environment)"
- APP_VERSION=$(cat .environment)-${DRONE_BUILD_NUMBER}
- echo "APP Version tags $APP_VERSION" - echo "APP Version tags $APP_VERSION"
- echo -n "$APP_VERSION" >> .tags - echo -n "$APP_VERSION,latest" >> .tags
- mkdir -p ./artifacts/flutter
- rm -rf build
- flutter pub get
- flutter build web --release --output=build/tm_pwa
- ls -ltrh build/tm_pwa
- name: build pwa - name: build admin and push to artifactory
image: plugins/docker image: plugins/docker
settings: settings:
dockerfile: "Dockerfile" # dockerfile: Dockerfile-admin
username: "cicd" username: cicd
password: password:
from_secret: "REGISTRY_PASSWORD" from_secret: REGISTRY_PASSWORD
repo: "artifactory.ravanertebat.ir/tm/pwa" repo: artifactory.ravanertebat.ir/tm/pwa
registry: "artifactory.ravanertebat.ir" registry: artifactory.ravanertebat.ir
build_args:
- FLUTTER_VERSION=3.29.3
- NGINX=1.25.2-alpine3.18-slim
node: node:
tag: aecde-docker-runner tag: aecde-docker-runner
trigger: trigger:
branch: branch:
- main - master
- develop - uat
- dev
event: event:
- custom - custom
+2 -54
View File
@@ -1,55 +1,3 @@
ARG FLUTTER_VERSION=3.29.3 FROM docker-mirror.ravanertebat.ir/hub/nginx:1.25.2-alpine3.18-slim
ARG NGINX=1.25.2-alpine3.18-slim
# Stage 1 - Build Flutter Web on Debian COPY ./artifacts/flutter/tm_pwa /usr/share/nginx/html
FROM debian:latest AS builder
# Install system dependencies
RUN apt-get update && \
apt-get install -y \
git \
curl \
unzip \
xz-utils \
libglu1-mesa \
cmake \
clang \
ninja-build \
pkg-config \
&& rm -rf /var/lib/apt/lists/*
# Install Flutter manually
RUN git clone https://github.com/flutter/flutter.git /usr/local/flutter
WORKDIR /usr/local/flutter
RUN git checkout stable
# Set Flutter environment
ENV PATH="$PATH:/usr/local/flutter/bin:/usr/local/flutter/bin/cache/dart-sdk/bin"
RUN flutter doctor -v
RUN flutter config --enable-web
# Copy app files
COPY . /app
WORKDIR /app
# Clean and get packages
RUN flutter clean
RUN flutter pub get
RUN flutter build web --release --output=build/tm_pwa
# Stage 2 - Runtime with NGINX
FROM nginx:${NGINX}
# Install runtime dependencies
RUN apk --no-cache add \
curl \
tzdata \
ca-certificates \
&& mkdir -p /var/log/app \
&& chown nginx:nginx /var/log/app
# Copy build files from Debian builder
COPY --from=builder /app/build/tm_pwa /usr/tm/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
+55
View File
@@ -0,0 +1,55 @@
ARG FLUTTER_VERSION=3.29.3
ARG NGINX=1.25.2-alpine3.18-slim
# Stage 1 - Build Flutter Web on Debian
FROM debian:latest AS builder
# Install system dependencies
RUN apt-get update && \
apt-get install -y \
git \
curl \
unzip \
xz-utils \
libglu1-mesa \
cmake \
clang \
ninja-build \
pkg-config \
&& rm -rf /var/lib/apt/lists/*
# Install Flutter manually
RUN git clone https://github.com/flutter/flutter.git /usr/local/flutter
WORKDIR /usr/local/flutter
RUN git checkout stable
# Set Flutter environment
ENV PATH="$PATH:/usr/local/flutter/bin:/usr/local/flutter/bin/cache/dart-sdk/bin"
RUN flutter doctor -v
RUN flutter config --enable-web
# Copy app files
COPY . /app
WORKDIR /app
# Clean and get packages
RUN flutter clean
RUN flutter pub get
RUN flutter build web --release --output=build/tm_pwa
# Stage 2 - Runtime with NGINX
FROM nginx:${NGINX}
# Install runtime dependencies
RUN apk --no-cache add \
curl \
tzdata \
ca-certificates \
&& mkdir -p /var/log/app \
&& chown nginx:nginx /var/log/app
# Copy build files from Debian builder
COPY --from=builder /app/build/tm_pwa /usr/tm/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]