All Projects → hey24sheep → azure-flutter-tasks

hey24sheep / azure-flutter-tasks

Licence: MIT license
Easily build and deploy with latest Flutter build tasks for Azure DevOps Pipelines Tasks

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects
dart
5743 projects
shell
77523 projects

Projects that are alternatives of or similar to azure-flutter-tasks

FlowViz
A Power BI template that provides easy to understand, actionable flow metrics and predictive analytics for your agile teams using Azure DevOps, Azure DevOps Server and/or TFS.
Stars: ✭ 150 (+127.27%)
Mutual labels:  vsts, vsts-extension, azure-devops
PSRule-pipelines
Validate infrastructure as code (IaC) and DevOps repositories using Azure Pipelines.
Stars: ✭ 16 (-75.76%)
Mutual labels:  cicd, azure-devops, azure-pipelines
Argo Cd
Declarative continuous deployment for Kubernetes.
Stars: ✭ 7,887 (+11850%)
Mutual labels:  cd, ci-cd, cicd
yamlizr
Azure DevOps Designer-to-YAML Pipeline CLI CodeGen Tool
Stars: ✭ 23 (-65.15%)
Mutual labels:  ci-cd, azure-devops, azure-pipelines
rust-azure-devops
[No longer maintain] 🦀 Rust extension for Azure DevOps
Stars: ✭ 26 (-60.61%)
Mutual labels:  vsts, vsts-extension, azure-devops
gl-vsts-tasks-file-patch
Visual Studio Team Services Build and Release Management extensions that help you update files using JSON patch and similar syntax
Stars: ✭ 21 (-68.18%)
Mutual labels:  vsts, vsts-tasks, vsts-extension
devops-governance
Example end-to-end Governance Model from CI/CD to Azure Resource Manager. Use this project to deploy example AAD, ARM and Azure DevOps resources to learn about e2e RBAC.
Stars: ✭ 79 (+19.7%)
Mutual labels:  ci-cd, azure-devops, azure-pipelines
gl-vsts-tasks-yarn
Yarn Package Manager Visual Studio Team Services Build and Release Management extensions
Stars: ✭ 50 (-24.24%)
Mutual labels:  vsts, vsts-tasks, vsts-extension
MCW-OSS-PaaS-and-DevOps
MCW OSS PaaS and DevOps
Stars: ✭ 49 (-25.76%)
Mutual labels:  vsts, ci-cd, cicd
wordpress-skeleton
A base repository structure for rtCamp's WordPress sites, pre-configured to use Github Actions
Stars: ✭ 32 (-51.52%)
Mutual labels:  cd, ci-cd
terraform-provider-spinnaker
Terraform Provider to manage spinnaker pipelines
Stars: ✭ 36 (-45.45%)
Mutual labels:  cd, cicd
rust-azure-pipelines
Collection of azure pipelines templates for rust
Stars: ✭ 43 (-34.85%)
Mutual labels:  cd, azure-pipelines
docker-pega-web-ready
Docker project for generating a tomcat docker image for Pega
Stars: ✭ 46 (-30.3%)
Mutual labels:  cd, cicd
www.go.cd
Github pages repo
Stars: ✭ 39 (-40.91%)
Mutual labels:  cd, ci-cd
gke-demo
Demonstration of complete, fully-featured CI/CD and cloud automation for microservices, done with GCP/GKE
Stars: ✭ 47 (-28.79%)
Mutual labels:  cd, ci-cd
Docker Builder
Docker builder builds Docker images from a friendly config file.
Stars: ✭ 81 (+22.73%)
Mutual labels:  cd, ci-cd
vsts-extension-ts-seed-simple
Very simple seed project for developing a VSTS extension
Stars: ✭ 61 (-7.58%)
Mutual labels:  vsts, vsts-extension
webpack-vsts-extension
Webpack build task for Visual Studio Team Services
Stars: ✭ 16 (-75.76%)
Mutual labels:  vsts, azure-devops
Gocd
Main repository for GoCD - Continuous Delivery server
Stars: ✭ 6,314 (+9466.67%)
Mutual labels:  cd, ci-cd
github-tools-vsts
📦🚀 Create and modify GitHub Releases in Azure DevOps Build and Release Management
Stars: ✭ 24 (-63.64%)
Mutual labels:  vsts, vsts-extension

Flutter Extension for Azure DevOps

Latest Flutter tasks for Azure DevOps.

Initially a fork maintained by me of the awesome work done by original author Github. As per people's request, this is now a separate repo as this is now an advanced/latest extension with more features.

NOTE : I will no longer maintain my fork instead this repository will be updated, as this has developed into a lot more than the original extension.

Support

PRs are always welcome. Feel free to create an issue if you face any problem.

Don't forget to star this repo, thanks 👍

Buy Me A Coffee


Installation & Usage

Installation can be done using Visual Studio MarketPlace. Add the tasks to your build definition.


Pipeline Tasks

Install

Installs the Flutter SDK onto the running agent if not already installed. Then uses it for following tasks.

  • Select the Release Url Mode: auto (default), custom. If custom is specified, a Custom (Flutter SDK Install Url) must be set.
  • Select the channel: stable (default), beta, or dev.
  • Select the version of the SDK to install: latest (default), custom. If custom is specified, a customVersion must be set.
  • (Optional). Set the customVersion (in a <M>.<m>.<p> semver format) if needed.
  • (Optional). Set the Custom (Flutter SDK Install Url) to release install url like https://storage.googleapis.com/flutter_infra_release/releases/stable/macos/flutter_macos_2.2.1-stable.zip or any other available on (https://flutter.dev/docs/development/tools/sdk/releases?tab=windows).
  • (Optional). Set the customArch (example 'arm64') if needed.

Build

Build the given mobile application project. You must call the Flutter Install task or use the optional flutterDirectory task input that points to your flutter/bin folder before execution. All application bundles are created in the build/outputs folder of your project.

  • Select the projectDirectory that contains the pubspec.yaml file.
  • Select the target platform. Options are: apk (default), aab, ios, ipa, web, all mobile (all mobile platforms only), desktop (windows), desktop (macos), desktop (linux), all desktop (all desktop platforms only) , all (all platforms).
  • (Optional). Set flutterDirectory to set path to the Flutter SDK if you were not using Flutter Install task before this one
  • (Optional). Set buildName (like 1.2.3) that will override the manifest's one.
  • (Optional). Set buildNumber (like 12) that will override the manifest's one. Use $(Build.BuildNumber) to use build number as auto incremental number.
  • (Optional). Set buildFlavour (like development) to specify a build flavour. Must match Android Gradle flavor definition or XCode scheme.
  • (Optional). Set entryPoint to override the main entry point file of the application. Default is 'lib/main.dart'.
  • (Optional). Set verboseMode if you wish to get detailed verbose log output for diagnoses purposes. Default is false.
  • (Optional). Set debugMode if you wish to override the default release mode for the build. Default is false. This flag cannot be combined with profileMode=true.
  • (Optional). Set profileMode if you wish to add the --profile flag to the build. Default is false. This flag cannot be combined with debugMode=true.
  • (Optional). Set dartDefine compile-time variables, use as : foo=bar (use 'dartDefineMulti' for multiple args)"
  • (Optional). Set dartDefineMulti compile-time variables, use as (space separated) : foo=bar key1=val1 key2=val2 (use for multiple --dart-define arguments)"
  • (Optional). Set extraArgs if you want to pass more official/custom command arguments, Space Separated. Example: "--no-tree-shake-icons --publish-to-play"
  • (Android).(Optional). Set apkTargetPlatform for the Android platform architecture target: default (default set by Flutter sdk) android-arm , android-arm64, android-x86, android-x64, custom.
  • (Android).(Optional). Set customApkTargetPosition for the custom target platform architecture, provide your own combination (comma separated) of valid values. Example like android-arm,android-arm64,android-x64
  • (Android).(Optional). Set the build mode splitPerAbi to compile the code into an APK per target ABI. Otherwise the build will result in a single APK.
  • (iOS).(Optional). Set iosTargetPlatform for the iOS target: device (default), simulator.
  • (iOS).(Optional). Set iosCodesign to configure whenever the bundle odesign 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 Certificatetask
  • (ipa).(Optional). Set exportOptionsPlist to the path of your ExportOptions.plist to configure --export-options-plist. This flag cannot be combined with '--split-debug-info'. Optionally export an IPA with these options. See 'xcodebuild -h' for available exportOptionsPlist keys.

NOTE : for --release builds, pass debugMode=false and profileMode=false

Test

Launch tests and publish a report as build test results.

  • Select the projectDirectory that contains to pubspec.yaml file.
  • (Optional). Set testName as a regular expression matching substrings of the names of tests to run.
  • (Optional). Set testPlainName as a plain-text substring of the names of tests to run.
  • (Optional). Set updateGoldens: whether matchesGoldenFile() calls within your test methods should update the golden files rather than test for an existing match.
  • (Optional). Set generateCodeCoverageReport to generate code coverage report based on tests in the project. The report file is located in the specified projectDirectory in coverage/lcov.info.
  • (Optional). Set concurrency to specify the number of concurrent test processes to run. Default is 6.
  • (Optional). Set extraArgs if you want to pass more official/custom command arguments, Comma Separated. Example: "--no-sound-null-safety,--dart-define=<foo=bar>"

Analyze

Launch analyze on flutter directory.

  • Select the projectDirectory that contains the pubspec.yaml file.
  • (Optional). Set pubGet if you wish to run pub get command before analyze. Default is true.
  • (Optional). Set extraArgs if you want to pass more official/custom command arguments. Example: "--fatal-infos --fatal-warnings"

Command

Launch a Flutter command with custom arguments.

  • Set the arguments to your custom valid flutter command.
  • Select the projectDirectory that contains the pubspec.yaml file.
  • (Optional). Set flutterDirectory to set path to the Flutter SDK if you were not using Flutter Install task before this one

Env

Task to create the environment variables FlutterToolPath, FlutterPubCachePath and DartToolPath.

  • Pick the Flutter path from either to Custom Path or File Path.
  • Select the Custom Path to give a path string like "$(Agent.ToolsDirectory)/<yourPath>/flutter"
  • Select the File Path to set path to the Flutter SDK

NOTE : Do not give path to 'bin' folder


Environment Variables

Environment variables created by the Install or Env tasks are :

  • $(FlutterToolPath) - can be used as "$(FlutterToolPath)/flutter packages get"
  • $(FlutterPubCachePath) can be used as "$(FlutterPubCachePath)/pubver set $(Version)"
  • $(DartToolPath) - can be used as "$(DartToolPath)/dart prog.dart arg1"

FAQ

First, please read the WIKI and then FAQs before opening any new issues.

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. Example: "$(FlutterToolPath)/flutter packages get"

Can I run Dart program ?

Yes, right after the Flutter Install task, a DartToolPath environment variable points to the bin of the Dart SDK directory. You just have to use $(DartToolPath) in your following tasks. Example: "$(DartToolPath)/dart program.dart arg1 arg2"

Can I access Flutter's pub-cache ?

Yes, right after the Flutter Install task, a FlutterPubCachePath environment variable points to the pub-cache directory that Flutter installs all depdencies. You just have to use $(FlutterPubCachePath) in your following tasks. Example: "$(FlutterPubCachePath)/pubver set $(Version)"

Facing error - "No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi" ?

Read this issue #16 for solution or this stackoverflow

How to run "Integeration Tests" ?

Read this wiki for steps, thanks to @maksymgendin for the help.

IOS build fail "Provisional Profile Errors" ?

Read this #35 for help

Any IOS or Android Examples (Setup Guide/YAML config)

Read this issue #37 and this wiki setup


Improve

First, please read the WIKI and then FAQs before opening any new issues. Help me by reporting bugs, creating PRs, submit new ideas for features or anything else that you want to share.

More

Check out my other useful Flutter packages on pub.dev or more DevOps extensions on marketplace

Source Code

Source code can be found on Github.

Previous fork : Github

Original repo : Github.


License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].