-
Notifications
You must be signed in to change notification settings - Fork 3
/
.gitlab-ci.yml
59 lines (57 loc) · 2.2 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# doc: https://docs.gitlab.com/ee/ci/quick_start/tutorial.html
stages: # List of stages for jobs and their order of execution
- build
- release
build-job:
stage: build # Set this job to run in the `build` stage
image: cirrusci/flutter:latest
rules:
- if: $CI_COMMIT_TAG
before_script:
- flutter --version
- flutter clean
# - printenv # 查看所有环境变量
script:
- flutter pub get
- flutter build apk --release --obfuscate --split-debug-info=build/app/outputs/symbols
- flutter build ios --release --no-codesign --obfuscate --split-debug-info=build/ios/iphoneos/symbols
- mkdir -p ./build/ios/iphoneos/Payload
- mv -f ./build/ios/iphoneos/Runner.app ./build/ios/iphoneos/Payload
- cd ./build/ios/iphoneos && zip -m -r ./app-release.ipa ./Payload && cd -
artifacts:
paths:
- "./build/app/outputs/flutter-apk/app-release.apk"
- "./build/ios/iphoneos/app-release.ipa"
release-job:
stage: release
image: registry.gitlab.com/gitlab-org/release-cli:latest
# dependencies:
# - job: build-job
needs:
- job: build-job
artifacts: true
rules:
- if: $CI_COMMIT_TAG # Run this job when a tag is created
# before_script:
# - printenv # 查看所有环境变量
script:
- echo "Running release-job"
release:
name: '$CI_COMMIT_TAG'
description: '$CI_COMMIT_MESSAGE'
# description: 'Created using the release-cli $EXTRA_DESCRIPTION' # See https://docs.gitlab.com/ee/ci/yaml/#release for available properties
tag_name: '$CI_COMMIT_TAG'
tag_message: '$CI_COMMIT_TAG_MESSAGE'
ref: '$CI_COMMIT_SHA'
# milestones: # $CI_PROJECT_URL/-/milestones
# - 'm1'
# - 'm2'
# - 'm3'
assets:
links:
- name: "Android"
# url: "$CI_JOB_URL/artifacts/download" # 工件下载文档:https://docs.gitlab.com/ee/ci/jobs/job_artifacts.html#from-a-url-1
# filepath: "/app-release.apk" # 工件浏览:$CI_PROJECT_URL/-/jobs/$JOB_ID/artifacts/browse
url: $CI_PROJECT_URL/-/jobs/$[CI_JOB_ID-1]/artifacts/raw/build/app/outputs/flutter-apk/app-release.apk
- name: "iOS"
url: $CI_PROJECT_URL/-/jobs/$[CI_JOB_ID-1]/artifacts/raw/build/ios/iphoneos/app-release.ipa