RUANHAOANDROID / droneci-android

drone android ci

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Android drone CI/CD 最佳实践

kind: pipeline
type: docker
name: android-drone
#设置平台
platform:
  os: linux
  arch: amd64
#开始
steps:
  - name: build       #步骤名称
    image: gradle:8.0 #使用Gradle镜像并指定版本
    volumes:                          #挂载卷
      - name: sdk                     # SDK
        path: /drone/src/sdk          # SDK 路径
      - name: gradle-cache            # gradle缓存
        path: /home/gradle/.gradle    # “gradle镜像”的缓存路径
    environment:                      #环境变量
      ANDROID_HOME: /drone/src/sdk    #Android SDK 
    commands:                         #执行命令
      - chmod +x gradlew              #赋权限
      - ./gradlew assembleRelease --stacktrace    #打Release包并打印堆栈
  - name: upload-minio                            #定义上传到MINIO的步骤
    image: minio/mc:RELEASE.2024-01-16T16-06-34Z  #指定镜像和版本
    environment:                                  #变量-这里为Drone->Settings->Secrets中提前定义的变量,放置密钥泄露
      ADDRESS:
        from_secret: MINIO_ADDRESS                #Drone->Settings->Secrets MINIO_ADDRESS
      ACCESS_KEY:
        from_secret: MINIO_ACCESS_KEY             #Drone->Settings->Secrets ACCESS_KEY
      SECRET_KEY:
        from_secret: MINIO_SECRET_KEY             #Drone->Settings->Secrets SECRET_KEY
    commands:
      - mc config host add mio $ADDRESS $ACCESS_KEY $SECRET_KEY   #设定MINIO
      - mc cp app/build/outputs/apk/release/*.apk mio/uchi        #mc cp拷贝到MINIO相应路径
volumes:                                                          #卷挂载
  - name: sdk                                                     #宿主机卷名SDK
    host:                                                         
      path: /mnt/user/appdata/drone/tools/android/sdk             #宿主机路径
  - name: gradle-cache                                            #宿主机卷名gradle cache
    host: 
      path: /mnt/user/appdata/drone/tools/gradle/cache-droneci    #宿主机路径

About

drone android ci


Languages

Language:Kotlin 100.0%