在Debian系统下实现Flutter应用的持续集成与部署(CI/CD),可参考以下步骤:
sudo apt update && sudo apt install -y git cmake wget unzip
/opt/flutter):wget https://dl.flutter.io/flutter/flutter-<version>-linux-x64.zip
unzip flutter-<version>-linux-x64.zip -d /opt/flutter
~/.bashrc,添加export PATH="$PATH:/opt/flutter/bin",执行source ~/.bashrc。flutter doctor。sudo apt install -y dart
.github/workflows/下创建flutter-ci.yml,内容示例:name: Flutter CI/CD
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Flutter
uses: subosito/flutter-action@v1
with:
channel: 'stable'
- name: Install dependencies
run: flutter pub get
- name: Run tests
run: flutter test
- name: Build APK
run: flutter build apk --release
- name: Upload artifact
uses: actions/upload-artifact@v2
with:
name: release-apk
path: build/app/outputs/apk/release/app-release.apk
jobs中添加deploy阶段,编写部署脚本(如scp上传文件)。scp命令上传至服务器:scp build/app/outputs/apk/release/app-release.apk user@server-ip:/path/to/deploy
ssh+pm2重启服务)。sudo apt install -y openjdk-11-jdk wget
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 install -y jenkins
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'flutter build apk'
}
}
stage('Deploy') {
steps {
sh 'scp build/app/outputs/apk/release/app-release.apk user@server-ip:/deploy/path'
}
}
}
}
以上步骤参考自,可根据项目需求调整构建流程(如添加iOS构建、代码覆盖率检查等)。