Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
C
cis-workflow-gen
Manage
Activity
Members
Labels
Plan
Issues
0
Issue boards
Milestones
Wiki
Code
Merge requests
0
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
msc
cis-workflow-gen
Commits
efdada15
There was a problem fetching the pipeline stages.
Commit
efdada15
authored
3 years ago
by
Recolic K
Browse files
Options
Downloads
Patches
Plain Diff
update test
parent
7c527e6f
No related branches found
No related tags found
No related merge requests found
Pipeline
#853
passed with stage
in 9 seconds
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
web/demo.cc
+2
-2
2 additions, 2 deletions
web/demo.cc
workflows/another.cc
+15
-12
15 additions, 12 deletions
workflows/another.cc
with
17 additions
and
14 deletions
web/demo.cc
+
2
−
2
View file @
efdada15
// This is a DEMO. You may use any C++17 syntax here.
// This is a DEMO. You may use any C++17 syntax here.
// 先演示一下定义一个Activity和ManualOperation的基本语法。
// 先演示一下定义一个Activity和ManualOperation
和Noop
的基本语法。
// Activity(ActivityName, ClassName_In_Our_Code , DependencyEntityName)
// Activity(ActivityName, ClassName_In_Our_Code , DependencyEntityName)
Activity
HaveASleep
(
"HaveASleep"
,
"FleetAGC.Activities.DelayActivity"
,
""
);
Activity
HaveASleep
(
"HaveASleep"
,
"FleetAGC.Activities.DelayActivity"
,
""
);
HaveASleep
.
addInputSetting
(
"Timespan"
,
"60"
);
HaveASleep
.
addInputSetting
(
"Timespan"
,
"60"
);
...
@@ -30,7 +30,7 @@ Noop DummyNode ("Just do nothing", "");
...
@@ -30,7 +30,7 @@ Noop DummyNode ("Just do nothing", "");
AC
(
UXCDNFailover
,
M365Poc
.
SPO
.
UXCDNFailover
)
AC
(
UXCDNFailover
,
M365Poc
.
SPO
.
UXCDNFailover
)
AC
(
ODFBSyncClient
,
M365Poc
.
SPO
.
ODFBSyncClient
)
AC
(
ODFBSyncClient
,
M365Poc
.
SPO
.
ODFBSyncClient
)
// 把定义好的Activity组合一下,其中箭头表示串行,竖线表示并行。
// 把定义好的Activity组合一下,其中箭头表示串行,竖线表示并行。
这里所有东西都可以混用。
auto
block1
=
GridManagerTeam
>>
FarmsAndTennats
>>
(
CSC
|
FastSearch
);
auto
block1
=
GridManagerTeam
>>
FarmsAndTennats
>>
(
CSC
|
FastSearch
);
auto
block2
=
Microservices
|
MonitorAndAlert
;
auto
block2
=
Microservices
|
MonitorAndAlert
;
auto
completeFlow
=
block1
|
AuthAndProvisionTeam
|
block2
>>
SPOTooling
|
UXCDNFailover
|
ODFBSyncClient
;
auto
completeFlow
=
block1
|
AuthAndProvisionTeam
|
block2
>>
SPOTooling
|
UXCDNFailover
|
ODFBSyncClient
;
...
...
This diff is collapsed.
Click to expand it.
workflows/another.cc
+
15
−
12
View file @
efdada15
...
@@ -3,24 +3,27 @@
...
@@ -3,24 +3,27 @@
int
main
()
{
int
main
()
{
// This is a DEMO. You may use any C++17 syntax here.
// This is a DEMO. You may use any C++17 syntax here.
// 先演示一下定义一个Activity和ManualOperation
的正常
语法。
// 先演示一下定义一个Activity和ManualOperation
和Noop的基本
语法。
//
(ActivityName, ClassName_In_Our_Code , DependencyEntityName)
//
Activity
(ActivityName, ClassName_In_Our_Code , DependencyEntityName)
Activity
HaveASleep
(
"HaveASleep"
,
"FleetAGC.Activities.DelayActivity"
,
""
);
Activity
HaveASleep
(
"HaveASleep"
,
"FleetAGC.Activities.DelayActivity"
,
""
);
HaveASleep
.
addInputSetting
(
"Timespan"
,
"60"
);
HaveASleep
.
addInputSetting
(
"Timespan"
,
"60"
);
//
(DisplayName , Message , TeamId to alert , DependencyEntityName)
//
ManualOperation
(DisplayName , Message , TeamId to alert , DependencyEntityName)
ManualOperation
AlertSomeone
(
"AlertSomeone"
,
"This is some message"
,
"AzDNetDeployments"
,
""
);
ManualOperation
AlertSomeone
(
"AlertSomeone"
,
"This is some message"
,
"AzDNetDeployments"
,
""
);
// Noop(DisplayName , DependencyEntityName)
Noop
DummyNode
(
"Just do nothing"
,
""
);
// 但是如果你要定义很多很多Activity,建议下面的方法偷懒。
// 但是如果你要定义很多很多Activity,建议下面的方法偷懒。
////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////
{
// 偷懒方案1
{
// 偷懒方案1
// 这里假设你想用FleetAGC.Activities.DelayActivity,并且想给他一个TimeSpan参数。
// 这里假设你想用ManualOperation。
#define AC(name, entityName) \
#define AC(teamid, entityName) auto teamid = ManualOperation("Alert" #teamid, "This is an alert to wake you up!", #teamid, #entityName);
auto name = Activity(#name, "FleetAGC.Activities.DelayActivity", #entityName).addInputSetting("Timespan", "60");
// 这里也有一个带参数的DelayActivity的例子。
// #define AC(name, entityName) auto name = Activity(#name, "FleetAGC.Activities.DelayActivity", #entityName).addInputSetting("Timespan", "60");
// 使用刚刚定义的偷懒宏。
// 使用刚刚定义的偷懒宏。
AC
(
GridManager
,
M365Poc
.
SPO
.
GridManager
)
AC
(
GridManager
Team
,
M365Poc
.
SPO
.
GridManager
)
AC
(
AuthAndProvision
,
M365Poc
.
SPO
.
AuthProvisioning
)
AC
(
AuthAndProvision
Team
,
M365Poc
.
SPO
.
AuthProvisioning
)
AC
(
FarmsAndTennats
,
)
AC
(
FarmsAndTennats
,
)
AC
(
CSC
,
)
AC
(
CSC
,
)
AC
(
FastSearch
,
)
AC
(
FastSearch
,
)
...
@@ -30,10 +33,10 @@ ManualOperation AlertSomeone ("AlertSomeone", "This is some message", "AzDNetDep
...
@@ -30,10 +33,10 @@ ManualOperation AlertSomeone ("AlertSomeone", "This is some message", "AzDNetDep
AC
(
UXCDNFailover
,
M365Poc
.
SPO
.
UXCDNFailover
)
AC
(
UXCDNFailover
,
M365Poc
.
SPO
.
UXCDNFailover
)
AC
(
ODFBSyncClient
,
M365Poc
.
SPO
.
ODFBSyncClient
)
AC
(
ODFBSyncClient
,
M365Poc
.
SPO
.
ODFBSyncClient
)
// 把定义好的Activity组合一下,其中箭头表示串行,竖线表示并行。
// 把定义好的Activity组合一下,其中箭头表示串行,竖线表示并行。
这里所有东西都可以混用。
auto
block1
=
GridManager
>>
FarmsAndTennats
>>
(
CSC
|
FastSearch
);
auto
block1
=
GridManager
Team
>>
FarmsAndTennats
>>
(
CSC
|
FastSearch
);
auto
block2
=
Microservices
|
MonitorAndAlert
;
auto
block2
=
Microservices
|
MonitorAndAlert
;
auto
completeFlow
=
block1
|
AuthAndProvision
|
block2
>>
SPOTooling
|
UXCDNFailover
|
ODFBSyncClient
;
auto
completeFlow
=
block1
|
AuthAndProvision
Team
|
block2
>>
SPOTooling
|
UXCDNFailover
|
ODFBSyncClient
;
// 最后指定一下workflow的名字就可以了。
// 最后指定一下workflow的名字就可以了。
println
(
completeFlow
.
generateXaml
(
"FleetAGC.Workflows.SPOBuildoutPOCWorkflow"
));
println
(
completeFlow
.
generateXaml
(
"FleetAGC.Workflows.SPOBuildoutPOCWorkflow"
));
...
@@ -56,4 +59,4 @@ if constexpr(false) { // 偷懒方案2
...
@@ -56,4 +59,4 @@ if constexpr(false) { // 偷懒方案2
println
(
completeFlow
.
generateXaml
(
"FleetAGC.Workflows.SPOBuildoutPOCWorkflow"
));
println
(
completeFlow
.
generateXaml
(
"FleetAGC.Workflows.SPOBuildoutPOCWorkflow"
));
}
}
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment