Comments (2)
Requirements
- Should not assume handlers are VSTS build definitions. Down the road there may be other handler types. This feature should work with them without changes.
- The means to trigger the subscription should be easily consumable by end user. (e.g. should not need to install anything)
- Down the road, it may make sense to integrate the end user experience into MC. The design should support this desire.
- It is not necessary to simulate a file change rather the core requirement is simply support invoking a particular subscription on demand.
- The means to trigger subscriptions must be secured.
Proposal
Maestro already makes use of an Azure Queue as a way for the WebApi to invoke a WebJob (with optional delay). The WebApi does this in response to a GitHub commit. The WebJob's responsibility is to simply invoke the subscription handler. Another Azure Queue could be created to support invoking a specific subscription on demand. The idea would be that each subscription would need a unique id/name. To invoke it a message with the subscription name would need to be queued. In response to this, a WebJob would then invoke the subscription handler. Needless to say, the existing Maestro logic should be refactored/shared as appropriate when implementing this new functionality.
To make it easy for end users to trigger a subscription manually, a new VSTS build definition can be created which contains a parameter for the name of the subscription to trigger. The build definition would contain the logic dealing with the Azure Queue. This would be the same logic that MC would need if we ever decided to integrate Maestro into it. The build definition would also contain the secrets for working with the Azure Queue.
from versions.
Being able to have Maestro use the subscriptions.json from a PR branch would be extra cool, so we can test a subscription change E2E before merging it.
from versions.
Related Issues (20)
- LKG_Packages are out-of-date HOT 2
- Add a list of dotnet/versions maintainers HOT 1
- Add a way to pass dotnet/versions commit hash into the triggered VSTS build
- Add "**" pattern trigger path handling
- Release 2.1's Host etc link is broken HOT 1
- Add link to aspnetcore-runtime HOT 1
- Disable Maestro for release/uwp6.0 HOT 3
- Add link to aspnetcore-runtime HOT 1
- URL paths for RHEL 7.2 SDK and ASP.NET Core Runtime installer should omit βrhelβ on github page - 2.1 master branch HOT 13
- Update download links to point to upgradeable native linux installers HOT 2
- Allow triggerPaths to include wildcard for repository name
- Azure 2.1.1 Runtime HOT 2
- dotnet publish -r linux-x64 returns warning NU1603 after added feed manually HOT 5
- CoreCLR subscription job is failing HOT 3
- No version information found for System.Threading.Tasks.Extensions 4.5.2 HOT 1
- "/**/*" behavior is unusual, effectively ".*$" rather than "/.*$"
- Allow @dotnet/dnceng to approve/merge PRs HOT 1
- Infrastructure
- dotnet build-info unmaintained?
- [dnceng-bot] Branch `versions/main` can't be mirrored to Azdo fast forward branch
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from versions.