mirror of
https://gitlab.com/foxixus/neomovies_mobile.git
synced 2025-10-28 01:18:50 +05:00
fix gitlab ci
This commit is contained in:
@@ -2,33 +2,20 @@ stages:
|
|||||||
- build
|
- build
|
||||||
- deploy
|
- deploy
|
||||||
|
|
||||||
variables:
|
|
||||||
GRADLE_OPTS: "-Dorg.gradle.daemon=false -Dorg.gradle.jvmargs='-Xmx1536m' -Dorg.gradle.parallel=true"
|
|
||||||
GRADLE_USER_HOME: "${CI_PROJECT_DIR}/.gradle"
|
|
||||||
PUB_CACHE: "${CI_PROJECT_DIR}/.pub-cache"
|
|
||||||
|
|
||||||
cache:
|
|
||||||
key: ${CI_COMMIT_REF_SLUG}
|
|
||||||
paths:
|
|
||||||
- .gradle/
|
|
||||||
- .pub-cache/
|
|
||||||
- android/.gradle/
|
|
||||||
- build/
|
|
||||||
|
|
||||||
build:apk:
|
build:apk:
|
||||||
stage: build
|
stage: build
|
||||||
image: ghcr.io/cirruslabs/flutter:stable
|
image: cirrusci/flutter:latest
|
||||||
script:
|
script:
|
||||||
- flutter pub get
|
- flutter build apk --release
|
||||||
- flutter build apk --release --no-shrink
|
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- build/app/outputs/flutter-apk/*.apk
|
- build/app/outputs/flutter-apk/*.apk
|
||||||
expire_in: 30 days
|
expire_in: 30 days
|
||||||
rules:
|
rules:
|
||||||
- if: $CI_COMMIT_BRANCH =~ /^dev|main|feature\//
|
|
||||||
- if: $CI_COMMIT_TAG
|
- if: $CI_COMMIT_TAG
|
||||||
allow_failure: false
|
when: always
|
||||||
|
- if: $CI_COMMIT_BRANCH =~ /^dev|main/
|
||||||
|
when: on_success
|
||||||
|
|
||||||
deploy:release:
|
deploy:release:
|
||||||
stage: deploy
|
stage: deploy
|
||||||
@@ -39,7 +26,6 @@ deploy:release:
|
|||||||
- apk add --no-cache curl jq
|
- apk add --no-cache curl jq
|
||||||
script:
|
script:
|
||||||
- |
|
- |
|
||||||
# Версия релиза
|
|
||||||
VERSION="${CI_COMMIT_TAG:-v0.0.${CI_PIPELINE_ID}}"
|
VERSION="${CI_COMMIT_TAG:-v0.0.${CI_PIPELINE_ID}}"
|
||||||
APK_FILE=$(ls build/app/outputs/flutter-apk/*.apk | head -n1)
|
APK_FILE=$(ls build/app/outputs/flutter-apk/*.apk | head -n1)
|
||||||
if [ -z "$APK_FILE" ]; then
|
if [ -z "$APK_FILE" ]; then
|
||||||
@@ -47,27 +33,39 @@ deploy:release:
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Создаем описание релиза
|
DESCRIPTION=$(cat <<END_DESC
|
||||||
DESCRIPTION="NeoMovies Mobile ${VERSION}
|
NeoMovies Mobile ${VERSION}
|
||||||
|
|
||||||
Commit: ${CI_COMMIT_SHORT_SHA}
|
Commit: ${CI_COMMIT_SHORT_SHA}
|
||||||
Branch: ${CI_COMMIT_BRANCH}
|
Branch: ${CI_COMMIT_BRANCH}
|
||||||
Pipeline: [#${CI_PIPELINE_ID}](${CI_PIPELINE_URL})
|
Pipeline: [#${CI_PIPELINE_ID}](${CI_PIPELINE_URL})
|
||||||
|
|
||||||
APK: \`$(basename $APK_FILE)\`"
|
APK: \`$(basename $APK_FILE)\`
|
||||||
|
END_DESC
|
||||||
|
)
|
||||||
|
|
||||||
|
RELEASE_PAYLOAD=$(cat <<EOF
|
||||||
|
{
|
||||||
|
"name": "NeoMovies ${VERSION}",
|
||||||
|
"tag_name": "${VERSION}",
|
||||||
|
"description": "${DESCRIPTION}",
|
||||||
|
"ref": "${CI_COMMIT_SHA}"
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
)
|
||||||
|
|
||||||
# Создаем релиз через GitLab API
|
|
||||||
curl -s --fail -X POST "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/releases" \
|
curl -s --fail -X POST "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/releases" \
|
||||||
--header "PRIVATE-TOKEN: ${CI_JOB_TOKEN}" \
|
--header "PRIVATE-TOKEN: ${CI_JOB_TOKEN}" \
|
||||||
--header "Content-Type: application/json" \
|
--header "Content-Type: application/json" \
|
||||||
--data "{\"name\":\"NeoMovies ${VERSION}\",\"tag_name\":\"${VERSION}\",\"description\":\"${DESCRIPTION}\",\"ref\":\"${CI_COMMIT_SHA}\"}" || \
|
--data "$RELEASE_PAYLOAD" || \
|
||||||
curl -s -X PUT "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/releases/${VERSION}" \
|
curl -s -X PUT "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/releases/${VERSION}" \
|
||||||
--header "PRIVATE-TOKEN: ${CI_JOB_TOKEN}" \
|
--header "PRIVATE-TOKEN: ${CI_JOB_TOKEN}" \
|
||||||
--header "Content-Type: application/json" \
|
--header "Content-Type: application/json" \
|
||||||
--data "{\"name\":\"NeoMovies ${VERSION}\",\"tag_name\":\"${VERSION}\",\"description\":\"${DESCRIPTION}\",\"ref\":\"${CI_COMMIT_SHA}\"}"
|
--data "$RELEASE_PAYLOAD"
|
||||||
|
|
||||||
echo "Release created: ${CI_PROJECT_URL}/-/releases/${VERSION}"
|
echo "Release created/updated: ${CI_PROJECT_URL}/-/releases/${VERSION}"
|
||||||
echo "APK artifact: ${CI_JOB_URL}/artifacts/browse"
|
echo "APK artifact: ${CI_JOB_URL}/artifacts/browse"
|
||||||
|
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- build/app/outputs/flutter-apk/*.apk
|
- build/app/outputs/flutter-apk/*.apk
|
||||||
|
|||||||
Reference in New Issue
Block a user