84 lines
2.9 KiB
YAML
84 lines
2.9 KiB
YAML
stages:
|
||
- android-build && analysis
|
||
- docker-build && sendmail
|
||
- deploy-trigger
|
||
|
||
android_build:
|
||
tags:
|
||
- offline-test
|
||
stage: android-build && analysis
|
||
image: hub.shanqu.cc/devops/ci-android:jdk11
|
||
variables:
|
||
KUBERNETES_CPU_LIMIT: "16"
|
||
GIT_SUBMODULE_STRATEGY: recursive
|
||
Apk_Path: "app/build/outputs/apk/**/release/*.apk"
|
||
script:
|
||
- export GRADLE_USER_HOME=./.gradle
|
||
- chmod +x ./gradlew
|
||
- ./scripts/meta_build.sh --config_id 6400549c21c2c94ead074500 --sdk_platform toutiao --sdk_version 5.3.0 --channel BD-GHZS-ZP-KY --activate_reporting_ratio 60 --first_lanuch_jump e1wibGlua190eXBlXCI6XCJcIixcImxpbmtfaWRcIjpcIlwiLFwibGlua190ZXh0XCI6XCJcIixcImhvbWVfaW5kZXhcIjpcIlwiLFwiYm90dG9tX2luZGV4XCI6XCJcIn0= --unix_timestamp 1677657618 --output ./release/com.gh.gamecenter_5.17.4_694_BD-GHZS-ZP-KY_toutiao_5.3.0_1677657618.apk
|
||
- rm -rf ./.gradle/caches/build-cache-1
|
||
cache:
|
||
paths:
|
||
- .gradle
|
||
artifacts:
|
||
paths:
|
||
- Dockerfile
|
||
expire_in: 15 mins
|
||
only:
|
||
- feature-meta_build
|
||
|
||
# 构建推送docker镜像
|
||
docker-build:
|
||
tags:
|
||
- offline-test
|
||
stage: docker-build && sendmail
|
||
image: hub.shanqu.cc/library/docker:latest
|
||
variables:
|
||
GIT_STRATEGY: none
|
||
script:
|
||
- projectPath=`echo $CI_PROJECT_PATH | sed 's#/#-#g'`
|
||
- docker build -t registry.cn-shenzhen.aliyuncs.com/ghzs/$projectPath:latest .
|
||
- docker push registry.cn-shenzhen.aliyuncs.com/ghzs/$projectPath:latest
|
||
- docker run -e PROJECTKEY=$projectPath -e EMAIL=$GITLAB_USER_EMAIL -e BRANCH=$CI_COMMIT_REF_NAME --name send-email --rm hub.shanqu.cc/platform/send-sonar-report:latest
|
||
cache:
|
||
paths:
|
||
- .gradle
|
||
policy: pull
|
||
only:
|
||
- feature-meta_build
|
||
|
||
# 代码检查
|
||
sonarqube_analysis:
|
||
tags:
|
||
- offline-test
|
||
stage: android-build && analysis
|
||
image: sonarsource/sonar-scanner-cli:latest
|
||
dependencies: [] #禁止传递来的artifact
|
||
script:
|
||
## 获取项目的一级组和二级组和项目名作为projectKey,例如projectKey=platform-backend-eci-monitor
|
||
- group=`echo $CI_PROJECT_PATH | sed 's#/#-#g'`
|
||
- sonar-scanner
|
||
-Dsonar.host.url=http://sonarqube-server.sonarqube:9000/
|
||
-Dsonar.login=be43de7264ce4c4766eb0c020373c3e74e6df257
|
||
-Dsonar.jacoco.reportPaths=target/jacoco.exec
|
||
-Dsonar.projectKey=$group
|
||
-Dsonar.projectName=$CI_PROJECT_PATH
|
||
-Dsonar.sourceEncoding=UTF-8
|
||
-Dsonar.exclusions=**/vendor/**,**/errcode/**
|
||
-Dsonar.gitlab.project_id=$CI_PROJECT_ID
|
||
-Dsonar.gitlab.commit_sha=$CI_COMMIT_SHA
|
||
-Dsonar.gitlab.ref_name=$CI_COMMIT_REF_NAME
|
||
-Dsonar.gitlab.ci_merge_request_iid=$CI_MERGE_REQUEST_IID
|
||
-Dsonar.gitlab.merge_request_discussion=true
|
||
-Dsonar.java.binaries=. # 如果不使用Maven或Gradle进行分析,则必须手动提供测试二进制文件
|
||
only:
|
||
- feature-meta_build
|
||
|
||
## 触发多项目构建
|
||
trigger_job:
|
||
stage: deploy-trigger
|
||
trigger:
|
||
project: devops/automation/build-eci
|
||
branch: dev
|
||
|