在Ubuntu上搭建Flutter CI/CD(持续集成和持续部署)流程,可以按照以下步骤进行:
1. 安装必要的工具
首先,确保你的Ubuntu系统已经安装了以下工具:
- Git:用于版本控制。
- Dart:Flutter的编程语言。
- Flutter SDK:Flutter的开发工具包。
- Android Studio 或 VS Code:用于开发Flutter应用。
- Jenkins 或 GitHub Actions:用于CI/CD。
安装Git
sudo apt update sudo apt install git
安装Dart和Flutter
# 安装Dart sudo apt install wget unzip wget https://storage.googleapis.com/dart-archive/channels/stable/release/linux/debian/9/sdk/dartsdk-linux-x64-release.zip unzip dartsdk-linux-x64-release.zip -d ~/flutter_sdk echo 'export PATH="$PATH:$HOME/flutter_sdk/bin"' >> ~/.bashrc source ~/.bashrc # 验证安装 flutter doctor
安装Android Studio或VS Code
2. 配置Jenkins
安装Jenkins
sudo apt update sudo apt install openjdk-11-jdk wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add - sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list' sudo apt update sudo apt install jenkins
启动Jenkins服务:
sudo systemctl start jenkins sudo systemctl enable jenkins
访问 http://
并按照提示完成Jenkins的初始配置。
安装必要的Jenkins插件
在Jenkins管理界面中,安装以下插件:
- Flutter Plugin
- Git Plugin
- Pipeline Plugin
3. 创建Jenkins Pipeline
在Jenkins中创建一个新的Pipeline项目,并配置Pipeline脚本。以下是一个简单的示例:
pipeline { agent any stages { stage('Checkout') { steps { git 'https://github.com/your-repo/your-flutter-app.git' } } stage('Install Flutter') { steps { sh 'flutter doctor' sh 'flutter pub get' } } stage('Build Android') { steps { sh 'flutter build apk' } } stage('Build iOS') { steps { // 需要Mac环境来构建iOS应用 // 可以使用Jenkins的SSH Agent插件来远程执行这些命令 sh 'flutter build ios' } } stage('Deploy') { steps { // 部署逻辑,例如上传到服务器或发布到应用商店 } } } }
4. 配置GitHub Actions(可选)
如果你更喜欢使用GitHub Actions,可以在你的Flutter项目根目录下创建一个 .github/workflows/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 Flutter run: | curl https://storage.googleapis.com/dart-archive/channels/stable/release/linux/debian/9/sdk/dartsdk-linux-x64-release.zip -o dart-sdk.zip unzip dart-sdk.zip -d flutter_sdk export PATH="$PATH:$HOME/flutter_sdk/bin" flutter doctor - name: Install dependencies run: flutter pub get - name: Build and test run: flutter test - name: Build for Android run: flutter build apk - name: Build for iOS run: flutter build ios env: FLUTTER_TARGET: ios
5. 运行CI/CD流程
- 对于Jenkins,提交代码到Git仓库后,Jenkins会自动触发Pipeline。
- 对于GitHub Actions,提交代码到Git仓库后,GitHub Actions会自动触发工作流。
通过以上步骤,你就可以在Ubuntu上搭建一个基本的Flutter CI/CD流程。根据具体需求,你可以进一步扩展和优化这个流程。