ubuntu

如何在Ubuntu上搭建Flutter CI/CD

小樊
84
2025-02-14 20:07:57
栏目: 智能运维

在Ubuntu上搭建Flutter CI/CD(持续集成和持续部署)流程,可以按照以下步骤进行:

1. 安装必要的工具

首先,确保你的Ubuntu系统已经安装了以下工具:

安装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://<your_server_ip>:8080 并按照提示完成Jenkins的初始配置。

安装必要的Jenkins插件

在Jenkins管理界面中,安装以下插件:

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流程

通过以上步骤,你就可以在Ubuntu上搭建一个基本的Flutter CI/CD流程。根据具体需求,你可以进一步扩展和优化这个流程。

0
看了该问题的人还看了