centos上flutter代码如何管理
CentOS上Flutter代码管理实践
一环境与版本管理
安装与路径:将FlutterSDK解压到如**/opt/flutter**,并把**/opt/flutter/bin加入PATH;执行flutterdoctor**验证环境。
多版本管理:使用FVM(FlutterVersionManager)管理多个Flutter版本,便于不同项目切换。
全局安装与项目使用:
pubglobalactivatefvm
fvmuse
fvmlist查看已安装与当前使用版本
建议:在团队协作中将.fvm纳入版本控制,并在CI中通过FVM或预装指定版本保持一致性。
二依赖管理
核心文件与命令:所有依赖由项目根目录的pubspec.yaml定义,常用命令如下:
安装依赖:flutterpubget
新增依赖:flutterpubadd
移除依赖:flutterpubremove
升级依赖:flutterpubupgrade(不改动版本约束);如需自动升级版本约束可用–major-versions/--minor-versions
查看依赖树:flutterpubdeps
依赖异常:flutterclean后重新flutterpubget
示例(pubspec.yaml片段):
dependencies:
flutter:sdk:flutter
cupertino_icons:^1.0.2
http:^1.1.0
建议:锁定关键依赖版本,谨慎使用浮动版本;在CI中固定pubspec.lock以确保可重复构建。
三版本控制与分支策略
初始化与远程:
gitinit
gitadd.&&gitcommit-m“Initialcommit”
gitremoteaddorigin
分支模型(示例):
main:稳定发布
dev:日常集成
feature/*:功能开发
release/*:预发布与回归
hotfix/*:紧急修复
规范建议:
提交前执行flutteranalyze、fluttertest,确保代码质量
使用.gitignore忽略.fvm、build/、.idea/.vscode(团队统一配置)、.dart_tool/等
通过Git标签(gittagv1.0.0)标记发布版本,便于回溯与回滚。
四持续集成与自动化交付
Jenkins在CentOS的落地要点:
节点要求:Android构建在Linux(含CentOS)即可;iOS构建必须使用macOS节点(Xcode/CocoaPods)
工具与插件:JDK11+、FlutterSDK、AndroidSDK/Gradle/NDK(可选)、Fastlane(iOS发布)
关键步骤:flutterdoctor-v→flutterpubget→flutteranalyze→fluttertest→构建APK/IPA→归档产物→部署/分发
示例Jenkinsfile(核心片段):
pipeline{
agentany
environment{
FLUTTER_HOME=‘/opt/flutter’
PATH=“$FLUTTER_HOME/bin:$PATH”}
stages{
stage(‘Setup’){steps{sh‘flutterdoctor-v’;sh‘flutterpubget’}}
stage(‘Analyze’){steps{sh‘flutteranalyze’}}
stage(‘Test’){steps{sh‘fluttertest’}}
stage(‘BuildAndroid’){
when{branch‘dev’}
steps{sh‘flutterbuildapk--release--dart-define=API_ENV=prod’}
archiveArtifactsartifacts:‘build/app/outputs/flutter-apk/*.apk’}
stage(‘BuildiOS’){
agent{label‘mac’}
when{branch‘release’}
steps{sh‘flutterbuildipa--export-options-plist=ios/ExportOptions.plist’}}
stage(‘Deploy’){steps{/*上传分发逻辑*/}}}
post{always{junit‘/test-results//*.xml’}}
}
其他选择:也可用GitHubActions等托管CI,步骤类似(setupFlutter、pubget、analyze、test、build)。

