Merge branch 'release_sky' into 'canary_release_sky'
Release sky See merge request StarlockTeam/app-starlock!145
This commit is contained in:
commit
bb13b9fb87
@ -60,6 +60,8 @@ variables:
|
|||||||
.setup_fastlane_android:
|
.setup_fastlane_android:
|
||||||
extends: .build_rule
|
extends: .build_rule
|
||||||
before_script:
|
before_script:
|
||||||
|
- export PUB_HOSTED_URL=https://pub.flutter-io.cn
|
||||||
|
- export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
|
||||||
- ls -li
|
- ls -li
|
||||||
- export NEXT_VERSION="$(cat app_new.version)"
|
- export NEXT_VERSION="$(cat app_new.version)"
|
||||||
# - flutter pub get
|
# - flutter pub get
|
||||||
@ -74,6 +76,8 @@ variables:
|
|||||||
.setup_fastlane_ios:
|
.setup_fastlane_ios:
|
||||||
extends: .build_rule
|
extends: .build_rule
|
||||||
before_script:
|
before_script:
|
||||||
|
- export PUB_HOSTED_URL=https://pub.flutter-io.cn
|
||||||
|
- export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
|
||||||
- ls -li
|
- ls -li
|
||||||
- export NEXT_VERSION="$(cat app_new.version)"
|
- export NEXT_VERSION="$(cat app_new.version)"
|
||||||
# - flutter pub get
|
# - flutter pub get
|
||||||
@ -98,7 +102,6 @@ generate_git_tag:
|
|||||||
stage: generate_tag_or_version
|
stage: generate_tag_or_version
|
||||||
extends: .generate_tag_rule
|
extends: .generate_tag_rule
|
||||||
before_script:
|
before_script:
|
||||||
- bash pre_build.sh xhj
|
|
||||||
- bash pre_build.sh sky
|
- bash pre_build.sh sky
|
||||||
- project_url=$(echo $CI_PROJECT_URL | sed 's/http:\/\///')
|
- project_url=$(echo $CI_PROJECT_URL | sed 's/http:\/\///')
|
||||||
- echo "project_url:$project_url"
|
- echo "project_url:$project_url"
|
||||||
@ -155,16 +158,10 @@ create-release:
|
|||||||
- export StarLock_VERSION=${CI_COMMIT_TAG#*-}
|
- export StarLock_VERSION=${CI_COMMIT_TAG#*-}
|
||||||
- echo "Uploading StarLock-${StarLock_VERSION} packages to
|
- echo "Uploading StarLock-${StarLock_VERSION} packages to
|
||||||
${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${StarLock_VERSION}/StarLock-${StarLock_VERSION}-*"
|
${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${StarLock_VERSION}/StarLock-${StarLock_VERSION}-*"
|
||||||
- 'curl -i --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file build/app/outputs/flutter-apk/starlock-xhj-release-${CI_COMMIT_TAG}.apk
|
|
||||||
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${StarLock_VERSION}/starlock-xhj-release-${CI_COMMIT_TAG}.apk"'
|
|
||||||
- 'curl -i --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file build/app/outputs/flutter-apk/starlock-xhj_bundle-release-${CI_COMMIT_TAG}.aab
|
|
||||||
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${StarLock_VERSION}/starlock-xhj_bundle-release-${CI_COMMIT_TAG}.aab"'
|
|
||||||
- 'curl -i --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file build/app/outputs/flutter-apk/starlock-sky-release-${CI_COMMIT_TAG}.apk
|
- 'curl -i --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file build/app/outputs/flutter-apk/starlock-sky-release-${CI_COMMIT_TAG}.apk
|
||||||
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${StarLock_VERSION}/starlock-sky-release-${CI_COMMIT_TAG}.apk"'
|
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${StarLock_VERSION}/starlock-sky-release-${CI_COMMIT_TAG}.apk"'
|
||||||
- 'curl -i --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file build/app/outputs/flutter-apk/starlock-sky-release-${CI_COMMIT_TAG}.aab
|
- 'curl -i --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file build/app/outputs/flutter-apk/starlock-sky-release-${CI_COMMIT_TAG}.aab
|
||||||
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${StarLock_VERSION}/starlock-sky-release-${CI_COMMIT_TAG}.aab"'
|
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${StarLock_VERSION}/starlock-sky-release-${CI_COMMIT_TAG}.aab"'
|
||||||
- 'curl -i --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file build/app/outputs/flutter-ipa/starlock-xhj-release-${CI_COMMIT_TAG}.ipa
|
|
||||||
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${StarLock_VERSION}/starlock-xhj-release-${CI_COMMIT_TAG}.ipa"'
|
|
||||||
- 'curl -i --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file build/app/outputs/flutter-ipa/starlock-sky-release-${CI_COMMIT_TAG}.ipa
|
- 'curl -i --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file build/app/outputs/flutter-ipa/starlock-sky-release-${CI_COMMIT_TAG}.ipa
|
||||||
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${StarLock_VERSION}/starlock-sky-release-${CI_COMMIT_TAG}.ipa"'
|
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${StarLock_VERSION}/starlock-sky-release-${CI_COMMIT_TAG}.ipa"'
|
||||||
release:
|
release:
|
||||||
@ -174,21 +171,12 @@ create-release:
|
|||||||
ref: '$CI_COMMIT_TAG'
|
ref: '$CI_COMMIT_TAG'
|
||||||
assets:
|
assets:
|
||||||
links:
|
links:
|
||||||
- name: 'xhj apk binary package'
|
|
||||||
url: '${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${CI_COMMIT_TAG}/starlock-xhj-release-${CI_COMMIT_TAG}.apk'
|
|
||||||
link_type: 'package'
|
|
||||||
- name: 'xhj bundle binary package'
|
|
||||||
url: '${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${CI_COMMIT_TAG}/starlock-xhj_bundle-release-${CI_COMMIT_TAG}.aab'
|
|
||||||
link_type: 'package'
|
|
||||||
- name: 'sky apk binary package'
|
- name: 'sky apk binary package'
|
||||||
url: '${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${CI_COMMIT_TAG}/starlock-sky-release-${CI_COMMIT_TAG}.apk'
|
url: '${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${CI_COMMIT_TAG}/starlock-sky-release-${CI_COMMIT_TAG}.apk'
|
||||||
link_type: 'package'
|
link_type: 'package'
|
||||||
- name: 'sky bundle binary package'
|
- name: 'sky bundle binary package'
|
||||||
url: '${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${CI_COMMIT_TAG}/starlock-sky-release-${CI_COMMIT_TAG}.aab'
|
url: '${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${CI_COMMIT_TAG}/starlock-sky-release-${CI_COMMIT_TAG}.aab'
|
||||||
link_type: 'package'
|
link_type: 'package'
|
||||||
- name: 'xhj ipa binary package'
|
|
||||||
url: '${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${CI_COMMIT_TAG}/starlock-xhj-release-${CI_COMMIT_TAG}.ipa'
|
|
||||||
link_type: 'package'
|
|
||||||
- name: 'sky ipa binary package'
|
- name: 'sky ipa binary package'
|
||||||
url: '${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${CI_COMMIT_TAG}/starlock-sky-release-${CI_COMMIT_TAG}.ipa'
|
url: '${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/StarLock/${CI_COMMIT_TAG}/starlock-sky-release-${CI_COMMIT_TAG}.ipa'
|
||||||
link_type: 'package'
|
link_type: 'package'
|
||||||
|
|||||||
@ -13,21 +13,16 @@ regex='^v[0-9]+\.[0-9]+\.[0-9]+_sky$'
|
|||||||
if [[ "${ENV_BUILD_BRANCH}" == "canary_release_sky" ]]; then
|
if [[ "${ENV_BUILD_BRANCH}" == "canary_release_sky" ]]; then
|
||||||
echo "===build canary_release: ${NEXT_VERSION}"
|
echo "===build canary_release: ${NEXT_VERSION}"
|
||||||
export ENV_BUILD_TAG=${NEXT_VERSION}
|
export ENV_BUILD_TAG=${NEXT_VERSION}
|
||||||
bundle exec fastlane release_apk flavor:xhj --verbose
|
|
||||||
bundle exec fastlane release_apk flavor:sky --verbose
|
bundle exec fastlane release_apk flavor:sky --verbose
|
||||||
elif [[ $ENV_BUILD_TAG =~ $regex ]]; then
|
elif [[ $ENV_BUILD_TAG =~ $regex ]]; then
|
||||||
echo "===build release===$ENV_BUILD_TAG"
|
echo "===build release===$ENV_BUILD_TAG"
|
||||||
bundle exec fastlane release_apk flavor:xhj --verbose
|
|
||||||
bundle exec fastlane release_apk flavor:sky --verbose
|
bundle exec fastlane release_apk flavor:sky --verbose
|
||||||
bundle exec fastlane release_bundle flavor:xhj_bundle --verbose
|
|
||||||
bundle exec fastlane release_bundle flavor:sky --verbose
|
bundle exec fastlane release_bundle flavor:sky --verbose
|
||||||
elif [[ "${ENV_BUILD_BRANCH}" == "develop_sky" ]]; then
|
elif [[ "${ENV_BUILD_BRANCH}" == "develop_sky" ]]; then
|
||||||
echo "===build dev===${NEXT_VERSION}"
|
echo "===build dev===${NEXT_VERSION}"
|
||||||
bundle exec fastlane beta flavor:xhj env:dev --verbose
|
|
||||||
bundle exec fastlane beta flavor:sky env:dev --verbose
|
bundle exec fastlane beta flavor:sky env:dev --verbose
|
||||||
elif [[ "${ENV_BUILD_BRANCH}" == "release_sky" || "${ENV_BUILD_BRANCH}" == "feat_devops_sky" ]] ; then
|
elif [[ "${ENV_BUILD_BRANCH}" == "release_sky" || "${ENV_BUILD_BRANCH}" == "feat_devops_sky" ]] ; then
|
||||||
echo "===build pre===${NEXT_VERSION}"
|
echo "===build pre===${NEXT_VERSION}"
|
||||||
bundle exec fastlane beta flavor:xhj env:pre --verbose
|
|
||||||
bundle exec fastlane beta flavor:sky env:pre --verbose
|
bundle exec fastlane beta flavor:sky env:pre --verbose
|
||||||
fi
|
fi
|
||||||
exit 0
|
exit 0
|
||||||
@ -44,10 +44,6 @@ platform :android do
|
|||||||
print_header '🏁 Before All'
|
print_header '🏁 Before All'
|
||||||
print_log $current_branch
|
print_log $current_branch
|
||||||
print_log $current_tag
|
print_log $current_tag
|
||||||
print_log $path_file_preview_apk_default
|
|
||||||
print_log $path_file_release_apk_default
|
|
||||||
print_log $path_file_preview_apk_copy
|
|
||||||
print_log $path_file_release_apk_copy
|
|
||||||
Dir.chdir "../.." do
|
Dir.chdir "../.." do
|
||||||
sh('pwd')
|
sh('pwd')
|
||||||
end
|
end
|
||||||
@ -55,11 +51,9 @@ platform :android do
|
|||||||
|
|
||||||
desc "Submit a new Beta Build to Pgy Beta"
|
desc "Submit a new Beta Build to Pgy Beta"
|
||||||
lane :beta do |options|
|
lane :beta do |options|
|
||||||
flavor = options[:flavor]
|
|
||||||
env = options[:env]
|
env = options[:env]
|
||||||
UI.user_error!("flavor is required") unless flavor
|
|
||||||
UI.user_error!("env is required") unless env
|
UI.user_error!("env is required") unless env
|
||||||
print_log "build #{flavor} on #{env}"
|
print_log "build sky on #{env}"
|
||||||
build_number = Time.now.strftime("%Y%m%d%H")
|
build_number = Time.now.strftime("%Y%m%d%H")
|
||||||
print_log "BuildNo #{build_number}"
|
print_log "BuildNo #{build_number}"
|
||||||
build_version = $next_version
|
build_version = $next_version
|
||||||
@ -70,10 +64,10 @@ platform :android do
|
|||||||
remove_zone_pre_build(zone:"com")
|
remove_zone_pre_build(zone:"com")
|
||||||
Dir.chdir "../.." do
|
Dir.chdir "../.." do
|
||||||
sh("flutter","pub","get")
|
sh("flutter","pub","get")
|
||||||
sh("flutter", "build", "apk", "--no-tree-shake-icons", "--release", "--flavor", "#{flavor}_#{env}", "-t", "lib/main_#{flavor}_#{env}.dart", "--build-number=#{build_number}", "--build-name=#{build_version}")
|
sh("flutter", "build", "apk", "--no-tree-shake-icons", "--release", "--flavor", "sky_#{env}", "-t", "lib/main_sky_#{env}.dart", "--build-number=#{build_number}", "--build-name=#{build_version}")
|
||||||
end
|
end
|
||||||
old_file_path = File.join($path_apk_output_dir, "app-#{flavor}_#{env}-release.apk")
|
old_file_path = File.join($path_apk_output_dir, "app-sky_#{env}-release.apk")
|
||||||
new_file_path = File.join($path_apk_output_dir, "starlock-#{flavor}-preview-#{build_version}.apk")
|
new_file_path = File.join($path_apk_output_dir, "starlock-sky-preview-#{build_version}.apk")
|
||||||
File.rename(old_file_path, new_file_path)
|
File.rename(old_file_path, new_file_path)
|
||||||
logs = changelog_from_git_commits(
|
logs = changelog_from_git_commits(
|
||||||
pretty: '- %s (%cn)',
|
pretty: '- %s (%cn)',
|
||||||
@ -85,9 +79,7 @@ platform :android do
|
|||||||
|
|
||||||
desc "Build & upload a new version to Gitlab Release"
|
desc "Build & upload a new version to Gitlab Release"
|
||||||
lane :release_apk do |options|
|
lane :release_apk do |options|
|
||||||
flavor = options[:flavor]
|
print_log "build sky"
|
||||||
UI.user_error!("flavor is required") unless flavor
|
|
||||||
print_log "build flavor for: #{flavor}"
|
|
||||||
build_number = Time.now.strftime("%Y%m%d%H")
|
build_number = Time.now.strftime("%Y%m%d%H")
|
||||||
print_log "BuildNo #{build_number}"
|
print_log "BuildNo #{build_number}"
|
||||||
build_version = $current_tag.match(/^v(\d+\.\d+\.\d+)/).captures[0]
|
build_version = $current_tag.match(/^v(\d+\.\d+\.\d+)/).captures[0]
|
||||||
@ -98,18 +90,16 @@ platform :android do
|
|||||||
remove_zone_pre_build(zone:"com")
|
remove_zone_pre_build(zone:"com")
|
||||||
Dir.chdir "../.." do
|
Dir.chdir "../.." do
|
||||||
sh("flutter","pub","get")
|
sh("flutter","pub","get")
|
||||||
sh("flutter", "build", "apk", "--no-tree-shake-icons", "--release", "--flavor", "#{flavor}", "-t", "lib/main_#{flavor}_lite.dart", "--build-number=#{build_number}", "--build-name=#{build_version}")
|
sh("flutter", "build", "apk", "--no-tree-shake-icons", "--release", "--flavor", "sky", "-t", "lib/main_sky_lite.dart", "--build-number=#{build_number}", "--build-name=#{build_version}")
|
||||||
end
|
end
|
||||||
old_apk_file_path = File.join($path_apk_output_dir, "app-#{flavor}-release.apk")
|
old_apk_file_path = File.join($path_apk_output_dir, "app-sky-release.apk")
|
||||||
new_apk_file_path = File.join($path_apk_output_dir, "starlock-#{flavor}-release-"+$current_tag+".apk")
|
new_apk_file_path = File.join($path_apk_output_dir, "starlock-sky-release-"+$current_tag+".apk")
|
||||||
File.rename(old_apk_file_path, new_apk_file_path)
|
File.rename(old_apk_file_path, new_apk_file_path)
|
||||||
end
|
end
|
||||||
|
|
||||||
desc "Build & upload a new version to Gitlab Release"
|
desc "Build & upload a new version to Gitlab Release"
|
||||||
lane :release_bundle do |options|
|
lane :release_bundle do |options|
|
||||||
flavor = options[:flavor]
|
print_log "build sky"
|
||||||
UI.user_error!("flavor is required") unless flavor
|
|
||||||
print_log "build flavor for: #{flavor}"
|
|
||||||
build_number = Time.now.strftime("%Y%m%d%H")
|
build_number = Time.now.strftime("%Y%m%d%H")
|
||||||
print_log "BuildNo #{build_number}"
|
print_log "BuildNo #{build_number}"
|
||||||
build_version = $current_tag.match(/^v(\d+\.\d+\.\d+)/).captures[0]
|
build_version = $current_tag.match(/^v(\d+\.\d+\.\d+)/).captures[0]
|
||||||
@ -120,10 +110,10 @@ platform :android do
|
|||||||
remove_zone_pre_build(zone:"cn")
|
remove_zone_pre_build(zone:"cn")
|
||||||
Dir.chdir "../.." do
|
Dir.chdir "../.." do
|
||||||
sh("flutter","pub","get")
|
sh("flutter","pub","get")
|
||||||
sh("flutter", "build", "appbundle", "--no-tree-shake-icons", "--release", "--flavor", "#{flavor}", "-t", "lib/main_#{flavor}_lite.dart", "--build-number=#{build_number}", "--build-name=#{build_version}")
|
sh("flutter", "build", "appbundle", "--no-tree-shake-icons", "--release", "--flavor", "sky", "-t", "lib/main_sky_lite.dart", "--build-number=#{build_number}", "--build-name=#{build_version}")
|
||||||
end
|
end
|
||||||
old_bundle_file_path = File.join($path_bundle_output_dir , "/#{flavor}Release/app-#{flavor}-release.aab")
|
old_bundle_file_path = File.join($path_bundle_output_dir , "/skyRelease/app-sky-release.aab")
|
||||||
new_bundle_file_path = File.join($path_bundle_output_dir , "/#{flavor}Release/starlock-#{flavor}-release-"+$current_tag+".aab")
|
new_bundle_file_path = File.join($path_bundle_output_dir , "/skyRelease/starlock-sky-release-"+$current_tag+".aab")
|
||||||
File.rename(old_bundle_file_path, new_bundle_file_path)
|
File.rename(old_bundle_file_path, new_bundle_file_path)
|
||||||
sh('cp',new_bundle_file_path,$path_apk_output_dir)
|
sh('cp',new_bundle_file_path,$path_apk_output_dir)
|
||||||
end
|
end
|
||||||
|
|||||||
@ -14,19 +14,15 @@ regex='^v[0-9]+\.[0-9]+\.[0-9]+_sky$'
|
|||||||
if [[ "${ENV_BUILD_BRANCH}" == "canary_release_sky" ]]; then
|
if [[ "${ENV_BUILD_BRANCH}" == "canary_release_sky" ]]; then
|
||||||
echo "===build canary_release: ${NEXT_VERSION}"
|
echo "===build canary_release: ${NEXT_VERSION}"
|
||||||
export ENV_BUILD_TAG=${NEXT_VERSION}
|
export ENV_BUILD_TAG=${NEXT_VERSION}
|
||||||
bundle exec fastlane release_ipa flavor:xhj --verbose
|
|
||||||
bundle exec fastlane release_ipa flavor:sky --verbose
|
bundle exec fastlane release_ipa flavor:sky --verbose
|
||||||
elif [[ $ENV_BUILD_TAG =~ $regex ]]; then
|
elif [[ $ENV_BUILD_TAG =~ $regex ]]; then
|
||||||
echo "===build release===$ENV_BUILD_TAG"
|
echo "===build release===$ENV_BUILD_TAG"
|
||||||
bundle exec fastlane release_ipa flavor:xhj --verbose
|
|
||||||
bundle exec fastlane release_ipa flavor:sky --verbose
|
bundle exec fastlane release_ipa flavor:sky --verbose
|
||||||
elif [[ "${ENV_BUILD_BRANCH}" == "develop_sky" ]]; then
|
elif [[ "${ENV_BUILD_BRANCH}" == "develop_sky" ]]; then
|
||||||
echo "===build dev===${NEXT_VERSION}"
|
echo "===build dev===${NEXT_VERSION}"
|
||||||
bundle exec fastlane beta flavor:xhj env:Dev --verbose
|
|
||||||
bundle exec fastlane beta flavor:sky env:Dev --verbose
|
bundle exec fastlane beta flavor:sky env:Dev --verbose
|
||||||
elif [[ "${ENV_BUILD_BRANCH}" == "release_sky" || "${ENV_BUILD_BRANCH}" == "feat_devops_sky" ]] ; then
|
elif [[ "${ENV_BUILD_BRANCH}" == "release_sky" || "${ENV_BUILD_BRANCH}" == "feat_devops_sky" ]] ; then
|
||||||
echo "===build pre===${NEXT_VERSION}"
|
echo "===build pre===${NEXT_VERSION}"
|
||||||
bundle exec fastlane beta flavor:xhj env:Pre --verbose
|
|
||||||
bundle exec fastlane beta flavor:sky env:Pre --verbose
|
bundle exec fastlane beta flavor:sky env:Pre --verbose
|
||||||
fi
|
fi
|
||||||
exit 0
|
exit 0
|
||||||
@ -17,22 +17,13 @@ default_platform(:ios)
|
|||||||
|
|
||||||
# setup_travis
|
# setup_travis
|
||||||
|
|
||||||
# --- xhj Const ---
|
|
||||||
$signing_identity_xhj_distribution = 'iPhone Distribution: Shenzhen Xinhongjia Electronics Co., Ltd. (P8997RW3V8)'
|
|
||||||
$app_identifier = 'xhj'
|
|
||||||
$provisioning_name_adhoc = 'StarApt Project Mobile Ad Hoc'
|
|
||||||
$provisioning_name_distribution = 'StarApt Project Mobile Distribution'
|
|
||||||
$gym_config_sky_preview = 'Preview-xhj'
|
|
||||||
$gym_config_sky_release = 'Release'
|
|
||||||
|
|
||||||
# --- sky Const ---
|
# --- sky Const ---
|
||||||
$signing_identity_sky_distribution = 'iPhone Distribution: Shenzhen Xinhongjia Electronics Co., Ltd. (P8997RW3V8)'
|
$signing_identity_distribution = 'iPhone Distribution: Shenzhen Xinhongjia Electronics Co., Ltd. (P8997RW3V8)'
|
||||||
$app_identifier = 'sky'
|
$app_identifier = 'sky'
|
||||||
$provisioning_name_adhoc = 'StarApt Project Mobile Ad Hoc'
|
$provisioning_name_adhoc = 'StarApt Project Mobile Ad Hoc'
|
||||||
$provisioning_name_distribution = 'StarApt Project Mobile Distribution'
|
$provisioning_name_distribution = 'StarApt Project Mobile Distribution'
|
||||||
$gym_config_sky_preview = 'Preview-sky'
|
$gym_config_preview = 'Preview-sky'
|
||||||
$gym_config_sky_release = 'Release'
|
$gym_config_release = 'Release'
|
||||||
|
|
||||||
|
|
||||||
# --- common Const ---
|
# --- common Const ---
|
||||||
$match_type_adhoc = 'adhoc'
|
$match_type_adhoc = 'adhoc'
|
||||||
@ -72,14 +63,12 @@ platform :ios do
|
|||||||
|
|
||||||
desc "Build & Deliver to Pgy"
|
desc "Build & Deliver to Pgy"
|
||||||
lane :beta do |options|
|
lane :beta do |options|
|
||||||
flavor = options[:flavor]
|
|
||||||
env = options[:env]
|
env = options[:env]
|
||||||
UI.user_error!("flavor is required") unless flavor
|
|
||||||
UI.user_error!("env is required") unless env
|
UI.user_error!("env is required") unless env
|
||||||
print_log "build #{flavor} on #{env}"
|
print_log "build sky on #{env}"
|
||||||
build_number = Time.now.strftime("%Y%m%d%H%M")
|
build_number = Time.now.strftime("%Y%m%d%H%M")
|
||||||
print_log "Build Commits #{build_number}"
|
print_log "Build Commits #{build_number}"
|
||||||
build_version = $next_version # Time.now.strftime("%Y%m%d%H%M%S")
|
build_version = $next_version
|
||||||
print_log "build_version #{build_version}"
|
print_log "build_version #{build_version}"
|
||||||
commit_hash = last_git_commit
|
commit_hash = last_git_commit
|
||||||
short_hash = commit_hash[:abbreviated_commit_hash]
|
short_hash = commit_hash[:abbreviated_commit_hash]
|
||||||
@ -89,18 +78,16 @@ platform :ios do
|
|||||||
sh("flutter","pub","get")
|
sh("flutter","pub","get")
|
||||||
end
|
end
|
||||||
Dir.chdir ".." do
|
Dir.chdir ".." do
|
||||||
#sh("bundle", "exec" ,"pod", "install")
|
|
||||||
sh("pod", "install")
|
sh("pod", "install")
|
||||||
end
|
end
|
||||||
Dir.chdir "../.." do
|
Dir.chdir "../.." do
|
||||||
sh("flutter", "build", "ios", "--no-tree-shake-icons", "--no-codesign", "--release", "--flavor", "#{flavor}", "-t", "lib/main_#{flavor}_#{env}.dart", "--build-number=#{build_number}", "--build-name=#{build_version}")
|
sh("flutter", "build", "ios", "--no-tree-shake-icons", "--no-codesign", "--release", "--flavor", "sky", "-t", "lib/main_sky_#{env}.dart", "--build-number=#{build_number}", "--build-name=#{build_version}")
|
||||||
end
|
end
|
||||||
#set_bundle_short_version('./Runner/Info.plist', $current_branch)
|
gym_scheme_preview="sky"
|
||||||
gym_scheme_preview="#{flavor}"
|
|
||||||
print_log "gym_scheme_preview #{gym_scheme_preview}"
|
print_log "gym_scheme_preview #{gym_scheme_preview}"
|
||||||
gym_configuration = "#{env}-release-#{flavor}"
|
gym_configuration = "#{env}-release-sky"
|
||||||
print_log "gym_configuration #{gym_configuration}"
|
print_log "gym_configuration #{gym_configuration}"
|
||||||
ipa_default_filename = "starlock-#{flavor}-preview-#{build_version}.ipa"
|
ipa_default_filename = "starlock-sky-preview-#{build_version}.ipa"
|
||||||
print_log "ipa_default_filename #{ipa_default_filename}"
|
print_log "ipa_default_filename #{ipa_default_filename}"
|
||||||
gym(
|
gym(
|
||||||
scheme: gym_scheme_preview,
|
scheme: gym_scheme_preview,
|
||||||
@ -111,10 +98,8 @@ platform :ios do
|
|||||||
export_method: "ad-hoc",
|
export_method: "ad-hoc",
|
||||||
export_options: {
|
export_options: {
|
||||||
provisioningProfiles: {
|
provisioningProfiles: {
|
||||||
"com.xhjcn.lock.dev" => "Adhoc_com.xhjcn.lock.dev.mobileprovision",
|
|
||||||
"com.xhjcn.lock.pre" => "Adhoc_com.xhjcn.lock.pre.mobileprovision",
|
|
||||||
"com.skychip.lock.dev" => "Adhoc_com.skychip.lock.dev.mobileprovision",
|
"com.skychip.lock.dev" => "Adhoc_com.skychip.lock.dev.mobileprovision",
|
||||||
"com.skychip.lock.pre" => "Adhoc_com.skychip.lock.pre.mobileprovision",
|
"com.skychip.lock.pre" => "Adhoc_com.skychip.lock.pre.mobileprovision"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
@ -128,9 +113,7 @@ platform :ios do
|
|||||||
|
|
||||||
desc "Build & Deliver to App Store Connect"
|
desc "Build & Deliver to App Store Connect"
|
||||||
lane :release_ipa do |options|
|
lane :release_ipa do |options|
|
||||||
flavor = options[:flavor]
|
print_log "build sky"
|
||||||
UI.user_error!("flavor is required") unless flavor
|
|
||||||
print_log "build flavor: #{flavor}"
|
|
||||||
build_number = Time.now.strftime("%Y%m%d%H%M")
|
build_number = Time.now.strftime("%Y%m%d%H%M")
|
||||||
print_log "Build Commits #{build_number}"
|
print_log "Build Commits #{build_number}"
|
||||||
build_version = $current_tag.match(/^v(\d+\.\d+\.\d+)/).captures[0]
|
build_version = $current_tag.match(/^v(\d+\.\d+\.\d+)/).captures[0]
|
||||||
@ -143,17 +126,16 @@ platform :ios do
|
|||||||
sh("flutter","pub","get")
|
sh("flutter","pub","get")
|
||||||
end
|
end
|
||||||
Dir.chdir ".." do
|
Dir.chdir ".." do
|
||||||
#sh("bundle", "exec" ,"pod", "install")
|
|
||||||
sh("pod", "install")
|
sh("pod", "install")
|
||||||
end
|
end
|
||||||
Dir.chdir "../.." do
|
Dir.chdir "../.." do
|
||||||
sh("flutter", "build", "ios", "--no-tree-shake-icons", "--no-codesign", "--release", "--flavor", "#{flavor}", "-t", "lib/main_#{flavor}_lite.dart", "--build-number=#{build_number}", "--build-name=#{build_version}")
|
sh("flutter", "build", "ios", "--no-tree-shake-icons", "--no-codesign", "--release", "--flavor", "sky", "-t", "lib/main_sky_lite.dart", "--build-number=#{build_number}", "--build-name=#{build_version}")
|
||||||
end
|
end
|
||||||
gym_scheme_release="#{flavor}"
|
gym_scheme_release="sky"
|
||||||
print_log "gym_scheme_release #{gym_scheme_release}"
|
print_log "gym_scheme_release #{gym_scheme_release}"
|
||||||
gym_configuration = "Release-#{flavor}"
|
gym_configuration = "Release-sky"
|
||||||
print_log "gym_configuration #{gym_configuration}"
|
print_log "gym_configuration #{gym_configuration}"
|
||||||
ipa_default_filename = "starlock-#{flavor}-release-"+$current_tag+".ipa"
|
ipa_default_filename = "starlock-sky-release-"+$current_tag+".ipa"
|
||||||
print_log "ipa_default_filename #{ipa_default_filename}"
|
print_log "ipa_default_filename #{ipa_default_filename}"
|
||||||
gym(
|
gym(
|
||||||
scheme: gym_scheme_release,
|
scheme: gym_scheme_release,
|
||||||
@ -164,12 +146,11 @@ platform :ios do
|
|||||||
export_method: "app-store",
|
export_method: "app-store",
|
||||||
export_options: {
|
export_options: {
|
||||||
provisioningProfiles: {
|
provisioningProfiles: {
|
||||||
"com.xhjcn.lock" => "Appstore_com.xhjcn.lock.mobileprovision",
|
"com.skychip.lock" => "Appstore_com.skychip.lock.mobileprovision"
|
||||||
"com.skychip.lock" => "Appstore_com.skychip.lock.mobileprovision",
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
auth_key_prefix=flavor.upcase
|
auth_key_prefix="SKY"
|
||||||
print_log "auth_key_prefix #{auth_key_prefix}"
|
print_log "auth_key_prefix #{auth_key_prefix}"
|
||||||
api_key = app_store_connect_api_key(
|
api_key = app_store_connect_api_key(
|
||||||
key_id: ENV["#{auth_key_prefix}_APPLE_AUTH_KEY_ID"],
|
key_id: ENV["#{auth_key_prefix}_APPLE_AUTH_KEY_ID"],
|
||||||
|
|||||||
@ -188,23 +188,23 @@ class StarLockLoginLogic extends BaseGetXController {
|
|||||||
late StreamSubscription _agreePrivacySubscription;
|
late StreamSubscription _agreePrivacySubscription;
|
||||||
|
|
||||||
void _initEventListen() {
|
void _initEventListen() {
|
||||||
_agreePrivacySubscription = eventBus
|
// _agreePrivacySubscription = eventBus
|
||||||
.on<AgreePrivacyAgreement>()
|
// .on<AgreePrivacyAgreement>()
|
||||||
.listen((AgreePrivacyAgreement event) async {
|
// .listen((AgreePrivacyAgreement event) async {
|
||||||
/// 检查ip如果属于国内才进行初始化
|
// /// 检查ip如果属于国内才进行初始化
|
||||||
final CheckIPEntity entity = await ApiRepository.to.checkIpAction(ip: '');
|
// final CheckIPEntity entity = await ApiRepository.to.checkIpAction(ip: '');
|
||||||
String currentLanguage =
|
// String currentLanguage =
|
||||||
CurrentLocaleTool.getCurrentLocaleString(); // 当前选择语言
|
// CurrentLocaleTool.getCurrentLocaleString(); // 当前选择语言
|
||||||
// 判断如果ip是国内的且选的是中文才初始化一键登录
|
// // 判断如果ip是国内的且选的是中文才初始化一键登录
|
||||||
if (entity.data!.abbreviation?.toLowerCase() == 'cn' &&
|
// if (entity.data!.abbreviation?.toLowerCase() == 'cn' &&
|
||||||
currentLanguage == 'zh_CN') {
|
// currentLanguage == 'zh_CN') {
|
||||||
// 初始化一键登录服务
|
// // 初始化一键登录服务
|
||||||
await JverifyOneClickLoginManage();
|
// await JverifyOneClickLoginManage();
|
||||||
state.isCheckVerifyEnable.value =
|
// state.isCheckVerifyEnable.value =
|
||||||
await JverifyOneClickLoginManage().checkVerifyEnable();
|
// await JverifyOneClickLoginManage().checkVerifyEnable();
|
||||||
AppLog.log('一键登录初始化认证结果:${state.isCheckVerifyEnable.value}');
|
// AppLog.log('一键登录初始化认证结果:${state.isCheckVerifyEnable.value}');
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
@ -106,20 +106,20 @@ Future<void> privacySDKInitialization() async {
|
|||||||
await jpushProvider.initJPushService();
|
await jpushProvider.initJPushService();
|
||||||
NotificationService().init(); // 初始化通知服务
|
NotificationService().init(); // 初始化通知服务
|
||||||
|
|
||||||
/// 检查ip如果属于国内才进行初始化
|
// /// 检查ip如果属于国内才进行初始化
|
||||||
final CheckIPEntity entity = await ApiRepository.to.checkIpAction(ip: '');
|
// final CheckIPEntity entity = await ApiRepository.to.checkIpAction(ip: '');
|
||||||
if (entity.errorCode!.codeIsSuccessful) {
|
// if (entity.errorCode!.codeIsSuccessful) {
|
||||||
String currentLanguage =
|
// String currentLanguage =
|
||||||
CurrentLocaleTool.getCurrentLocaleString(); // 当前选择语言
|
// CurrentLocaleTool.getCurrentLocaleString(); // 当前选择语言
|
||||||
// 判断如果ip是国内的且选的是中文才初始化一键登录
|
// // 判断如果ip是国内的且选的是中文才初始化一键登录
|
||||||
if (entity.data!.abbreviation?.toLowerCase() == 'cn' &&
|
// if (entity.data!.abbreviation?.toLowerCase() == 'cn' &&
|
||||||
currentLanguage == 'zh_CN') {
|
// currentLanguage == 'zh_CN') {
|
||||||
// 初始化一键登录服务
|
// // 初始化一键登录服务
|
||||||
final StarLockLoginLogic loginLogic = Get.put(StarLockLoginLogic());
|
// final StarLockLoginLogic loginLogic = Get.put(StarLockLoginLogic());
|
||||||
await JverifyOneClickLoginManage();
|
// await JverifyOneClickLoginManage();
|
||||||
loginLogic.state.isCheckVerifyEnable.value =
|
// loginLogic.state.isCheckVerifyEnable.value =
|
||||||
await JverifyOneClickLoginManage().checkVerifyEnable();
|
// await JverifyOneClickLoginManage().checkVerifyEnable();
|
||||||
eventBus.fire(AgreePrivacyAgreement());
|
// eventBus.fire(AgreePrivacyAgreement());
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|||||||
@ -220,8 +220,7 @@ class _CardDetailPageState extends State<CardDetailPage> with RouteAware {
|
|||||||
left: 30.w, right: 30.w, top: 30.w, bottom: 30.w),
|
left: 30.w, right: 30.w, top: 30.w, bottom: 30.w),
|
||||||
padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
|
padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
|
||||||
onClick: () async {
|
onClick: () async {
|
||||||
final bool isNetWork =
|
final bool isNetWork = await logic.isConnected();
|
||||||
await LockMainLogic.to()?.judgeTheNetwork() ?? false;
|
|
||||||
if (!isNetWork) {
|
if (!isNetWork) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
@ -49,9 +48,7 @@ class _FaceDetailPageState extends State<FaceDetailPage> with RouteAware {
|
|||||||
Obx(() => lockDataListItem('姓名'.tr, state.typeName.value, () {
|
Obx(() => lockDataListItem('姓名'.tr, state.typeName.value, () {
|
||||||
// showCupertinoAlertDialog(context);
|
// showCupertinoAlertDialog(context);
|
||||||
ShowTipView().showTFViewAlertDialog(
|
ShowTipView().showTFViewAlertDialog(
|
||||||
state.changeNameController,
|
state.changeNameController, '修改姓名'.tr, '修改姓名'.tr, () {
|
||||||
'修改姓名'.tr,
|
|
||||||
'修改姓名'.tr, () {
|
|
||||||
if (state.changeNameController.text.isEmpty) {
|
if (state.changeNameController.text.isEmpty) {
|
||||||
logic.showToast('请输入姓名'.tr);
|
logic.showToast('请输入姓名'.tr);
|
||||||
return;
|
return;
|
||||||
@ -178,7 +175,7 @@ class _FaceDetailPageState extends State<FaceDetailPage> with RouteAware {
|
|||||||
Visibility(
|
Visibility(
|
||||||
visible: !F.isSKY,
|
visible: !F.isSKY,
|
||||||
child: Obx(
|
child: Obx(
|
||||||
() => CommonItem(
|
() => CommonItem(
|
||||||
leftTitel: '是否为管理员'.tr,
|
leftTitel: '是否为管理员'.tr,
|
||||||
rightTitle: '',
|
rightTitle: '',
|
||||||
isTipsImg: false,
|
isTipsImg: false,
|
||||||
@ -215,12 +212,10 @@ class _FaceDetailPageState extends State<FaceDetailPage> with RouteAware {
|
|||||||
left: 30.w, right: 30.w, top: 30.w, bottom: 30.w),
|
left: 30.w, right: 30.w, top: 30.w, bottom: 30.w),
|
||||||
padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
|
padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
|
||||||
onClick: () async {
|
onClick: () async {
|
||||||
final bool isNetWork =
|
final bool isNetWork = await logic.isConnected();
|
||||||
await LockMainLogic.to()?.judgeTheNetwork() ?? false;
|
|
||||||
if (!isNetWork) {
|
if (!isNetWork) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ShowTipView().showIosTipWithContentDialog('确定要删除吗?'.tr,
|
ShowTipView().showIosTipWithContentDialog('确定要删除吗?'.tr,
|
||||||
() async {
|
() async {
|
||||||
state.isDeletFace.value = true;
|
state.isDeletFace.value = true;
|
||||||
|
|||||||
@ -222,8 +222,7 @@ class _FingerprintDetailPageState extends State<FingerprintDetailPage>
|
|||||||
left: 30.w, right: 30.w, top: 30.w, bottom: 30.w),
|
left: 30.w, right: 30.w, top: 30.w, bottom: 30.w),
|
||||||
padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
|
padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
|
||||||
onClick: () async {
|
onClick: () async {
|
||||||
final bool isNetWork =
|
final bool isNetWork = await logic.isConnected();
|
||||||
await LockMainLogic.to()?.judgeTheNetwork() ?? false;
|
|
||||||
if (!isNetWork) {
|
if (!isNetWork) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -180,8 +180,7 @@ class _PasswordKeyDetailPageState extends State<PasswordKeyDetailPage>
|
|||||||
left: 30.w, right: 30.w, top: 30.w, bottom: 30.w),
|
left: 30.w, right: 30.w, top: 30.w, bottom: 30.w),
|
||||||
padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
|
padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
|
||||||
onClick: () async {
|
onClick: () async {
|
||||||
final bool isNetWork =
|
final bool isNetWork = await logic.isConnected();
|
||||||
await LockMainLogic.to()?.judgeTheNetwork() ?? false;
|
|
||||||
if (!isNetWork) {
|
if (!isNetWork) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
|
import 'package:connectivity_plus/connectivity_plus.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_easyloading/flutter_easyloading.dart';
|
import 'package:flutter_easyloading/flutter_easyloading.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
@ -175,6 +176,13 @@ class BaseGetXController extends GetxController {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// 判断网络是否连接
|
||||||
|
Future<bool> isConnected() async {
|
||||||
|
final List<ConnectivityResult> connectResults =
|
||||||
|
await Connectivity().checkConnectivity();
|
||||||
|
return !connectResults.contains(ConnectivityResult.none);
|
||||||
|
}
|
||||||
|
|
||||||
String getUseKeyTypeStr(int? startDate, int? endDate, int? keyType) {
|
String getUseKeyTypeStr(int? startDate, int? endDate, int? keyType) {
|
||||||
String useDateStr = '';
|
String useDateStr = '';
|
||||||
if (keyType == XSConstantMacro.keyTypeTime) {
|
if (keyType == XSConstantMacro.keyTypeTime) {
|
||||||
@ -241,6 +249,8 @@ class BaseGetXController extends GetxController {
|
|||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
///Extension_Int
|
///Extension_Int
|
||||||
|
|||||||
@ -53,6 +53,7 @@ class KeySearchWidget extends StatelessWidget {
|
|||||||
controller: editingController,
|
controller: editingController,
|
||||||
autofocus: false,
|
autofocus: false,
|
||||||
textAlign: TextAlign.start,
|
textAlign: TextAlign.start,
|
||||||
|
textInputAction: TextInputAction.search,
|
||||||
onChanged: (String value) {
|
onChanged: (String value) {
|
||||||
AppLog.log('onChanged:$value');
|
AppLog.log('onChanged:$value');
|
||||||
},
|
},
|
||||||
@ -60,6 +61,7 @@ class KeySearchWidget extends StatelessWidget {
|
|||||||
AppLog.log('onEditingComplete:');
|
AppLog.log('onEditingComplete:');
|
||||||
},
|
},
|
||||||
onSubmitted: (String value) {
|
onSubmitted: (String value) {
|
||||||
|
FocusScope.of(context).unfocus(); // 收起键盘
|
||||||
onSubmittedAction!();
|
onSubmittedAction!();
|
||||||
},
|
},
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(
|
||||||
|
|||||||
@ -64,6 +64,7 @@ class _TitleAppBarState extends State<TitleAppBar> {
|
|||||||
EasyLoading.dismiss();
|
EasyLoading.dismiss();
|
||||||
}
|
}
|
||||||
Navigator.pop(context);
|
Navigator.pop(context);
|
||||||
|
FocusScope.of(context).unfocus(); // 收起键盘
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
: Container()),
|
: Container()),
|
||||||
|
|||||||
@ -6,20 +6,16 @@ if [[ "${CI_COMMIT_BRANCH}" == "release_sky" ]] ; then
|
|||||||
WECAHT_WEBHOOK_URL=$PRE_QYWECAHT_WEBHOOK_URL
|
WECAHT_WEBHOOK_URL=$PRE_QYWECAHT_WEBHOOK_URL
|
||||||
SKY_IOS_DOWNLOAD_URL=$PRE_SKY_IOS_DOWNLOAD_URL
|
SKY_IOS_DOWNLOAD_URL=$PRE_SKY_IOS_DOWNLOAD_URL
|
||||||
SKY_ANDROID_DOWNLOAD_URL=$PRE_SKY_ANDROID_DOWNLOAD_URL
|
SKY_ANDROID_DOWNLOAD_URL=$PRE_SKY_ANDROID_DOWNLOAD_URL
|
||||||
XHJ_IOS_DOWNLOAD_URL=$PRE_XHJ_IOS_DOWNLOAD_URL
|
|
||||||
XHJ_ANDROID_DOWNLOAD_URL=$PRE_XHJ_ANDROID_DOWNLOAD_URL
|
|
||||||
elif [[ "${CI_COMMIT_BRANCH}" == "develop_sky" ]] || [[ "${CI_COMMIT_BRANCH}" == "feat_devops_sky" ]]; then
|
elif [[ "${CI_COMMIT_BRANCH}" == "develop_sky" ]] || [[ "${CI_COMMIT_BRANCH}" == "feat_devops_sky" ]]; then
|
||||||
WECAHT_WEBHOOK_URL=$DEV_QYWECAHT_WEBHOOK_URL
|
WECAHT_WEBHOOK_URL=$DEV_QYWECAHT_WEBHOOK_URL
|
||||||
SKY_IOS_DOWNLOAD_URL=$DEV_SKY_IOS_DOWNLOAD_URL
|
SKY_IOS_DOWNLOAD_URL=$DEV_SKY_IOS_DOWNLOAD_URL
|
||||||
SKY_ANDROID_DOWNLOAD_URL=$DEV_SKY_ANDROID_DOWNLOAD_URL
|
SKY_ANDROID_DOWNLOAD_URL=$DEV_SKY_ANDROID_DOWNLOAD_URL
|
||||||
XHJ_IOS_DOWNLOAD_URL=$DEV_XHJ_IOS_DOWNLOAD_URL
|
|
||||||
XHJ_ANDROID_DOWNLOAD_URL=$DEV_XHJ_ANDROID_DOWNLOAD_URL
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${BUILD_STATUS}" == "success" ]]; then
|
if [[ "${BUILD_STATUS}" == "success" ]]; then
|
||||||
TITLE="😎 构建成功"
|
TITLE="😎 构建成功"
|
||||||
BUILD_STATUS_DESC="成功"
|
BUILD_STATUS_DESC="成功"
|
||||||
NOTIFICATION_CONENT='{"msgtype":"markdown","markdown":{"content":"'$TITLE'\n> **项目名称**: '$APP_PRODUCT_NAME'\n> **分支**: '$CI_COMMIT_REF_NAME'\n> **构建状态**: '$BUILD_STATUS_DESC'\n> **安装地址**:\n 锁通通 ** [iOS]('$SKY_IOS_DOWNLOAD_URL') ** ** [Android]('$SKY_ANDROID_DOWNLOAD_URL')**\n > ** 星星锁 ** [iOS]('$XHJ_IOS_DOWNLOAD_URL') ** ** [Android]('$XHJ_ANDROID_DOWNLOAD_URL')** \n> **详情查看**: [构建日志]('$CI_JOB_URL')"}}'
|
NOTIFICATION_CONENT='{"msgtype":"markdown","markdown":{"content":"'$TITLE'\n> **项目名称**: '$APP_PRODUCT_NAME'\n> **分支**: '$CI_COMMIT_REF_NAME'\n> **构建状态**: '$BUILD_STATUS_DESC'\n> **安装地址**:\n 锁通通 ** [iOS]('$SKY_IOS_DOWNLOAD_URL') ** ** [Android]('$SKY_ANDROID_DOWNLOAD_URL')** \n> **详情查看**: [构建日志]('$CI_JOB_URL')"}}'
|
||||||
else
|
else
|
||||||
TITLE="😥 部署失败"
|
TITLE="😥 部署失败"
|
||||||
BUILD_STATUS_DESC="失败"
|
BUILD_STATUS_DESC="失败"
|
||||||
|
|||||||
@ -60,27 +60,39 @@ else
|
|||||||
[ -z "$patch" ] && patch=0
|
[ -z "$patch" ] && patch=0
|
||||||
compare_json=""
|
compare_json=""
|
||||||
if [[ "$1" == "generate_tag" ]];then
|
if [[ "$1" == "generate_tag" ]];then
|
||||||
echo "generate_tag:$newest_sky_tag-to-master\n"
|
echo "generate_tag:$newest_sky_tag-to-master_sky\n"
|
||||||
compare_json=$(curl -s --header "PRIVATE-TOKEN: $TOKEN" "$URL/projects/$PROJECT_ID/repository/compare?from=$newest_sky_tag&to=master")
|
compare_json=$(curl -s --header "PRIVATE-TOKEN: $TOKEN" "$URL/projects/$PROJECT_ID/repository/compare?from=$newest_sky_tag&to=master_sky")
|
||||||
elif [[ "$1" == "generate_version" ]]; then
|
elif [[ "$1" == "generate_version" ]]; then
|
||||||
echo "generate_version:master-to-$CI_COMMIT_BRANCH\n"
|
echo "generate_version:master_sky-to-$CI_COMMIT_BRANCH\n"
|
||||||
compare_json=$(curl -s --header "PRIVATE-TOKEN: $TOKEN" "$URL/projects/$PROJECT_ID/repository/compare?from=master&to=$CI_COMMIT_BRANCH")
|
compare_json=$(curl -s --header "PRIVATE-TOKEN: $TOKEN" "$URL/projects/$PROJECT_ID/repository/compare?from=master_sky&to=$CI_COMMIT_BRANCH")
|
||||||
fi
|
fi
|
||||||
echo "compare_json:$compare_json\n"
|
echo "compare_json:$compare_json\n"
|
||||||
new_patch=$patch
|
new_patch=$patch
|
||||||
new_minor=$minor
|
new_minor=$minor
|
||||||
|
seen_commits="" # 用于去重
|
||||||
while IFS= read -r commit_json; do
|
while IFS= read -r commit_json; do
|
||||||
commit_id=$(echo "$commit_json" | jq -r '.id')
|
commit_id=$(echo "$commit_json" | jq -r '.id')
|
||||||
|
commit_title=$(echo "$commit_json" | jq -r '.title')
|
||||||
commit_message=$(echo "$commit_json" | jq -r '.message')
|
commit_message=$(echo "$commit_json" | jq -r '.message')
|
||||||
|
|
||||||
|
# commit id 去重(兼容所有 shell)
|
||||||
|
if echo "$seen_commits" | grep -q "$commit_id"; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
seen_commits="$seen_commits $commit_id"
|
||||||
|
|
||||||
|
# 跳过 Merge 和 Revert 提交
|
||||||
|
if [[ "$commit_title" =~ ^Merge ]] || [[ "$commit_title" =~ ^Revert ]]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
echo "----$commit_message"
|
echo "----$commit_message"
|
||||||
if [[ "$commit_message" =~ ("feat:"*) ]] && [[ $new_minor == $minor ]]; then
|
if [[ "$commit_message" =~ ^feat: ]] && [[ $new_minor == $minor ]]; then
|
||||||
((new_minor++))
|
((new_minor++))
|
||||||
elif [[ "$commit_message" =~ ("fix:"*) ]]; then
|
elif [[ "$commit_message" =~ ^fix: ]]; then
|
||||||
((new_patch++))
|
|
||||||
elif [[ ! "$commit_message" =~ ("Merge"* | "Revert"*) ]]; then
|
|
||||||
((new_patch++))
|
((new_patch++))
|
||||||
fi
|
fi
|
||||||
done < <(echo "$compare_json" | jq -c '.commits[] | {id: .id, message: .message}')
|
done < <(echo "$compare_json" | jq -c '.commits[] | {id: .id, title: .title, message: .message}')
|
||||||
next_tag="v${major}.${new_minor}.${new_patch}_sky"
|
next_tag="v${major}.${new_minor}.${new_patch}_sky"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user