debian

如何在Debian上搭建Flutter持续集成

小樊
44
2025-05-27 21:04:04
栏目: 智能运维

在Debian上搭建Flutter持续集成(CI)环境,可以遵循以下步骤:

1. 安装必要的软件

首先,确保你的Debian系统是最新的,并且安装了必要的软件包。

sudo apt update
sudo apt upgrade -y
sudo apt install -y git wget curl openjdk-11-jdk maven build-essential

2. 安装Flutter SDK

从Flutter官网下载适用于Linux的Flutter SDK,并解压到指定目录。

wget https://dl.flutter.io/flutter-linux-x64-*.tar.xz
tar -xf flutter-linux-x64-*.tar.xz -C /opt/flutter
export PATH="$PATH:/opt/flutter/bin"
flutter doctor

3. 配置CI环境

你可以使用多种CI工具,如GitHub Actions、GitLab CI/CD、Jenkins等。这里以GitHub Actions为例。

创建GitHub Actions工作流文件

在你的Flutter项目根目录下创建一个.github/workflows目录,并在其中创建一个YAML文件,例如flutter-ci.yml

name: Flutter CI

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2

    - name: Set up JDK 11
      uses: actions/setup-java@v2
      with:
        java-version: '11'
        distribution: 'adopt'

    - name: Install Flutter
      run: |
        git clone https://github.com/flutter/flutter.git -b stable /opt/flutter
        export PATH="$PATH:/opt/flutter/bin"

    - name: Get Flutter dependencies
      run: flutter pub get

    - name: Run tests
      run: flutter test

    - name: Build for Android
      run: flutter build apk

    - name: Build for iOS (if needed)
      run: flutter build ios-framework --output=./build/ios

4. 配置Android和iOS环境

Android

确保你的Debian系统上安装了Android SDK和NDK。

sudo apt install -y android-sdk

配置环境变量:

echo "export ANDROID_HOME=/path/to/android-sdk" >> ~/.bashrc
echo "export PATH=$PATH:$ANDROID_HOME/emulator" >> ~/.bashrc
echo "export PATH=$PATH:$ANDROID_HOME/tools" >> ~/.bashrc
echo "export PATH=$PATH:$ANDROID_HOME/tools/bin" >> ~/.bashrc
echo "export PATH=$PATH:$ANDROID_HOME/platform-tools" >> ~/.bashrc
source ~/.bashrc

iOS

iOS CI需要Mac虚拟机或物理机。你可以使用GitHub Actions的Mac虚拟机来运行iOS构建。

5. 运行CI流程

提交你的代码到GitHub仓库,GitHub Actions会自动触发CI流程。你可以在GitHub仓库的Actions标签页查看CI日志和结果。

6. 集成其他工具

根据需要,你可以集成其他工具,如代码质量检查、静态分析、性能测试等。

通过以上步骤,你可以在Debian上搭建一个基本的Flutter持续集成环境。根据具体需求,你可以进一步优化和扩展这个流程。

0
看了该问题的人还看了