
gmeligio/flutter-android用于Flutter持续集成(CI)的Docker镜像。源码可在GitHub获取。
该镜像包含运行Flutter和构建应用所需的最小工具集,工具版本基于官方Flutter仓库。最终目标是使Flutter在运行容器时无需下载任何工具或SDK。
ENABLE_ANALYTICS环境变量则可选择启用。flutter:flutter,具备在GitHub工作流和GitLab CI中运行的权限。flutter命令。Android平台预下载的SDK和工具:
| 注册中心 | flutter-android |
|---|---|
| Docker Hub | gmeligio/flutter-android:3.35.5 |
| GitHub容器注册中心 | ghcr.io/gmeligio/flutter-android:3.35.5 |
| Quay | quay.io/gmeligio/flutter-android:3.35.5 |
bash# 从GitHub容器注册中心 docker run --rm -it ghcr.io/gmeligio/flutter-android:3.35.5 bash
yamljobs: build: runs-on: ubuntu-22.04 container: image: ghcr.io/gmeligio/flutter-android:3.35.5 steps: - name: 检出代码 uses: actions/checkout@v2 - name: 构建APK run: flutter build apk
yamlbuild: image: ghcr.io/gmeligio/flutter-android:3.35.5 script: - flutter build apk
bash# 容器中已提供Ruby bundler # Fastlane gem已缓存但未安装 # 更多信息参见[***] # 使用--prefer-local仅在缓存中不存在时才下载gems bundle install --prefer-local bundle exec fastlane
Flutter稳定通道的每个新标签都会触发构建。镜像标签由使用的Flutter版本组成:
android.Dockerfile需要以下构建参数:
flutter_version <string>: 构建时使用的Flutter版本。示例:3.35.5android_build_tools_version <string>: 要安装的Android SDK构建工具版本。示例:35.0.0android_platform_versions <list>: 要安装的Android SDK平台版本,空格分隔。示例:36bash# 构建Android镜像 docker build --target android --build-arg flutter_version=3.35.5 --build-arg fastlane_version=2.228.0 --build-arg android_build_tools_version=35.0.0 --build-arg android_platform_versions="36" -t android-test .
AWS ECR公共注册中心的免费套餐仅提供50GB存储空间,超出后开始收费。随着每次推送镜像,存储占用会增加,因此未在该平台发布。
刻意不设置latest Docker标签。您需要明确指定要使用的镜像版本,原因是latest标签可能导致CI作业在重新运行时使用新版本镜像,从而产生意外行为。相关解释可参考文章What's Wrong With The Docker :latest Tag?和The misunderstood Docker tag: latest。
参见贡献指南。
Flutter采用BSD 3-Clause "New" or "Revised"许可证。
与所有Docker镜像一样,本镜像可能包含其他软件,这些软件可能采用不同的许可证(如基础发行版中的Bash等,以及主要软件的任何直接或间接依赖项)。
对于任何预构建镜像的使用,镜像用户有责任确保其使用符合镜像中所有软件的相关许可证要求。
生成gmeligio/flutter-android Docker镜像的源码采用MIT许可证。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务