# Flutter 开发,安卓开发 基于 Linux 容器远程开发, ## Usage .devcontainer/Dockerfile ``` FROM jianboy/flutter-dev-container:3.13.5 ``` ## Develop ``` docker login --username jianboy docker build -f .devcontainer/Dockerfile2 -t jianboy/flutter-dev-container:3.13.5 . docker push jianboy/flutter-dev-container:3.13.5 ``` 构建 apk ``` - uses: gradle/gradle-build-action@v2 with: arguments: publishToMavenLocal ``` rclone 同步apk ``` # Setup Rclone - name: Setup Rclone uses: AnimMouse/setup-rclone@v1 with: rclone_config: ${{ secrets.RCLONE_CONFIG }} # # Sync from Tencent COS - name: Rclone Sync run: | rclone copy TencentCOS:${{ secrets.COS_CDN_BUCKET }} ./ --transfers=8 --checkers=16 env: RCLONE_CONFIG_PASS: ${{ secrets.RCLONE_CONFIG_PASS }} # Rclone Sync to B2 & R2 - name: Rclone Sync run: | rclone copy ./ Cloudflare:${{ secrets.CF_R2_BUCKET }} --transfers=8 --checkers=16 --exclude=.git/** --exclude=.github/** --exclude=README.md rclone copy ./ Backblaze:${{ secrets.B2_BUCKET }} --transfers=8 --checkers=16 --exclude=.git/** --exclude=.github/** --exclude=README.md env: RCLONE_CONFIG_PASS: ${{ secrets.RCLONE_CONFIG_PASS }} ``` ## 构建 flutter Android 项目 ## 构建 flutter IOS 项目 本章介绍通过github托管代码,每次提交代码,github action自动触发构建,发布IOS。 ### 步骤 * 安装 Apple证书 * 构建App * 签名 * 发布 ### 安装 Apple 证书 打包证书 .p12, 描述文件 .mobileprovision P12_BASE64 P12_PASSWORD ``` - name: Install Apple Certificate uses: apple-actions/import-codesign-certs@v1 with: p12-file-base64: ${{ secrets.P12_BASE64 }} p12-password: ${{ secrets.P12_PASSWORD }} ``` # Android studio 构建apk 包含初始化安卓环境,构建,推送消息,提交,上传到应用商店等等 ## Notify on Slack 配置 SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} 通知的路径 ## Deploy to Play Store 需要到 google console 生成 service_account.json,配置 {{ secrets.SERVICE_ACCOUNT_JSON }} ## Sign AAB 一种方法可以在代码中存放 keys.jks,然后在 build.gradle 上配置 sign。另外一种方法,使用 r0adkll/sign-android-release@v1,配置 ${{ secrets.SIGNING_KEY }} 等四个参数。 ## devcontainer ``` docker login docker build -f .devcontainer/Dockerfile2 -t jianboy/android-dev-container:v1.0.1 . docker push ``` # dev 基于 docker 快速切换版本开发环境 ## nodejs 如,项目需要在node14环境下开发,可以使用以下方式: ``` docker run --rm -it -v /workspace:/app node:14 /bin/bash ``` -v /workspace:/app 挂载本地目录到容器内,/workspace 为本地目录,/app 为容器内目录 ### 额外配置 有时候,项目需要一些额外开发环境,可以新建一个 Dockerfile 文件,构建一个本地镜像 ```Dockerfile FROM node:14 WORKDIR /app # todo ``` 然后使用该镜像启动容器: ``` docker build -t jianboy/node-hexo:14 . docker run --rm -it -v /workspace:/app node:14 /bin/bash ``` ## python 如,项目需要在python3.8环境下开发,可以使用以下方式: ``` docker run --rm -it -v /workspace:/app python:3.8 /bin/bash ``` ## golang 如,项目需要在golang1.15环境下开发,可以使用以下方式: ``` docker run --rm -it -v /workspace:/app golang:1.15 /bin/bash ```