Flutter for Azure DevOps
Flutter build task for Azure DevOps.
Installation
Installation can be done using Visual Studio MarketPlace.
Source Code
Source code can be found on Github.
Usage
Add the tasks to your build definition.
Install
Installs the Flutter SDK onto the running agent if not already installed. Then uses it for following tasks.
- Select the
channel
: stable (default)
, beta
, or dev
.
- Select the
version
of the SDK to install: latest (default)
, custom
. If custom
is specified, a custom version
must be set.
- (Optional). Set the
custom version
(in a <M>.<m>.<p>
semver format) if needed.
Build
Build the given mobile application project. You must call the Flutter Install
task, set a FlutterToolPath
environment variable, or use the optional Flutter SDK Path task entry that points to your flutter/bin
folder before execution. All the application bundles are created into the build/outputs
folder of your project.
- Select the
project source directory
(that contains to pubspec.yaml
file).
- Select the
target
platform: Android (default)
, iOS
, or All
for both.
- (Optional). Set
flutter sdk path
if using a local agent with a pre-installed Flutter SDK, can specify the path to utilize it. Otherwise use Flutter Install.
- (Optional). Set
package name
(like 1.2.3
) that will override the manifest's one.
- (Optional). Set
package number
(like 12
) that will override the manifest's one.
- (Optional). Set
build flavour
(like development
) to specify a build flavour. Must match Android Gradle flavor definition or XCode scheme.
- (Optional). Set
debug
if you wish to override the default release mode for the build.
- (Android).(Optional). Set
platform
for the Android target: android-arm (default)
, android-arm64
.
- (iOS).(Optional). Set
platform
for the iOS target: device (default)
, simulator
.
- (iOS).(Optional). Codesign the application bundle (only available on device builds, and activated by default). Warning: you must install a valid certificate before build with the
Install an Apple Certificate
task
Test
Launch tests and publish a report as build test results.
- Select the
project source directory
(that contains to pubspec.yaml
file).
- (Optional). Set
test name
as a regular expression matching substrings of the names of tests to run.
- (Optional). Set
Test plain name
as a plain-text substring of the names of tests to run.
- (Optional). Set
Test plain name
as a plain-text substring of the names of tests to run.
- (Optional). Set
update goldens
: whether matchesGoldenFile()
calls within your test methods should update the golden files rather than test for an existing match.
- (Optional). The number of
concurrent
test processes to run. (defaults to 6
)
FAQ
Flutter command isn't recognized ?
Make sure that you have a Flutter Install
at the beginning of your definition.
Can I run a custom Flutter command ?
Yes, right after the Flutter Install
task, a FlutterToolPath
environment variable points to the bin
of the Flutter SDK directory. You just have to use $(FlutterToolPath)
in your following tasks.
Can I run Dart program ?
Yes, actually a Dart runtime is embedded with Flutter tools (in the /cache/dart-sdk/bin
subdirectory).
A task example :
- task: CmdLine@2
displayName: 'Execute Dart program'
inputs:
script: '$(FlutterToolPath)/cache/dart-sdk/bin/dart program.dart arg1 arg2'
workingDirectory: 'src'
License
MIT