thedrhax/android-sdk:4333796-5.6.1
build.gradle
阿里云镜像仓库源 https://maven.aliyun.com/mvn/view
buildscript {
repositories {
//google()
// jcenter()
maven { url 'https://maven.aliyun.com/repository/public/' }
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'
}
}
allprojects {
repositories {
maven { url 'https://maven.aliyun.com/repository/public/' }
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
include:
- project: 'cidevops/cidevops-newci-service'
ref: master
file: 'templates/default-pipeline.yml'
variables:
## 全局配置
GIT_CLONE_PATH: ${CI_BUILDS_DIR}/builds/${CI_PROJECT_NAMESPACE}/${CI_PROJECT_NAME}/${CI_PIPELINE_ID}
GIT_CHECKOUT: "false"
CACHE_DIR: "app/build/outputs/apk/release"
## 作业控制
RUN_PIPELINE_BUILD: "yes" #是否运行构建 yes/no
RUN_PIPELINE_TEST: "no" #是否运行测试 yes/no
RUN_CODE_ANALYSIS: "yes" #是否代码扫描 yes/no
RUN_BUILD_IMAGE: "no" #是否生成镜像 yes/no
RUN_DEPLOY_ARTIFACTS: "yes" #是否上传制品 yes/no
RUN_DEPLOY_K8S: "no" #是否发布K8S yes/no
## 依赖容器镜像
BUILD_IMAGE: "thedrhax/android-sdk:4333796-5.6.1"
CURL_IMAGE: "curlimages/curl:7.70.0"
SONAR_IMAGE: "sonarsource/sonar-scanner-cli:latest"
KUBECTL_IMAGE: "lucj/kubectl:1.17.2"
## 构建测试参数
MAVEN_OPTS: "" #maven构建参数
GRADLE_OPTS: "-Dgradle.user.home=/home/gitlab-runner/ci-build-cache/gradle" #gradle构建参数
BUILD_SHELL: " gradle clean build " #构建命令
## 单元测试参数
#TEST_SHELL : 'echo npm run test ' #测试命令
#JUNIT_REPORT_PATH: 'target/surefire-reports/TEST-*.xml' #单元测试报告
## 代码扫描
SONAR_SOURCE_DIR : "app/src" #项目源码目录
SONAR_SERVER_URL: "http://192.168.1.200:30090" #SonarQube服务器信息
SONAR_SERVER_LOGIN: "ee2bcb37deeb6dfe3a07fe08fb529559b00c1b7b" #Sonar Token最好在项目中定义。
SONAR_SCAN_ARGS: "-Dsonar.sources=${SONAR_SOURCE_DIR} -Dsonar.java.binaries=app/build/intermediates/classes/release/ " #项目扫描参数
## 构建镜像
#CI_REGISTRY: 'registry.cn-beijing.aliyuncs.com' #镜像仓库地址
#CI_REGISTRY_USER: 'xxxxxx' #仓库用户信息
#CI_REGISTRY_PASSWD: 'xxxxxxxx.' #仓库用户密码
#IMAGE_NAME: "${CI_REGISTRY}/${CI_PROJECT_PATH}:${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHORT_SHA}" #镜像名称
#DOCKER_FILE_PATH: "./Dockerfile" #Dockerfile位置
## 上传制品库(artifactory)
ARTIFACTORY_URL: "http://192.168.1.200:30082/artifactory" #制品库地址
ARTIFACTORY_NAME: "${CI_PROJECT_NAMESPACE}" #制品库名称
ARTIFACT_PACKAGE: "apk" #制品类型
ARTIFACT_PATH: "app/build/outputs/apk/release/*.${ARTIFACT_PACKAGE}" #制品位置
TARGET_FILE_PATH: "${CI_PROJECT_NAMESPACE}/${CI_PROJECT_NAME}/${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHORT_SHA}" #目标制品位置(目录结构)
TARGET_ARTIFACT_NAME: "${CI_PROJECT_NAME}-${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHORT_SHA}.${ARTIFACT_PACKAGE}" #目标制品名称
## 部署应用k8s
#APP_NAME: "$CI_PROJECT_NAME" #应用名称 <-->deploymentName
#CONTAINER_PORT: "80" #服务端口 <--> servicesPort
#NAMESPACE: "$CI_PROJECT_NAME-$CI_PROJECT_ID-$CI_ENVIRONMENT_SLUG" #名称空间
#ENV_URL: "${ENV_NAME}.${CI_PROJECT_NAMESPACE}.${CI_PROJECT_NAME}.devops.com" #IngressHosts
由于我们配置了gradle.user.home缓存到持久化存储中,所以这个缓存目录要有权限才行。否则会出现以下错误。
$ gradle -v
FAILURE: Build failed with an exception.
* What went wrong:
Failed to load native library 'libnative-platform.so' for Linux amd64.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
chmod 777 -R /opt/ci-build-cache/gradle