首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以为任务完成时指定一个PreLaunch任务序列和一个拆卸序列?

是否可以为任务完成时指定一个PreLaunch任务序列和一个拆卸序列?
EN

Stack Overflow用户
提问于 2020-11-25 20:16:27
回答 1查看 287关注 0票数 0

是否可以使用Visual代码任务指定以下内容:

docker-compose up --build -d

  1. 定义了dotnet builddotnet build的顺序预启动任务

当任务结束时,

  1. 启动等效的拆卸过程:

a.码头员-

EN

回答 1

Stack Overflow用户

发布于 2020-12-07 14:19:13

在github讨论的帮助下找到解决方案。也在这里发帖。按照注释中的建议,使用复合任务定义工作流。使用dependsOndependsOrder json键指定任务序列。

下面包括了tasks.json,作为其他有类似问题的人的一个完整的例子。

代码语言:javascript
复制
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "start docker services",
            "command": "docker-compose up -d",
            "type": "shell",
            "isBackground": true,
            "problemMatcher": [
                {
                    "pattern": [
                        {
                            "regexp": ".",
                            "file": 1,
                            "location": 2,
                            "message": 3,
                        }
                    ],
                    "background": {
                        "activeOnStart": true,
                        "beginsPattern": "^(Creating network)$",
                        "endsPattern": "^(Creating|Recreating|Starting) (kafka|service-minio|mqtt) ... (done)$",
                    }
                },
            ],
            "options": {
                "cwd": "${workspaceFolder}/Docker"
            },
            "presentation": {
                "focus": true
            }
        },
        {
            "label": "stop docker services",
            "command": "docker-compose down",
            "type": "shell",
            "problemMatcher": [],
            "options": {
                "cwd": "${workspaceFolder}/Docker"
            },
            "presentation": {
                "focus": true
            },
        },
        {
            "label": "collect test coverage (release)",
            "command": "dotnet",
            "type": "process",
            "args": [
                "test",
                "--configuration:Release",
                "--settings:${workspaceFolder}/Tests/coverlet.runsettings",
                "--collect:XPlat Code Coverage",
                "WebApp.sln"
            ],
            "problemMatcher": "$msCompile",
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "group": "test"
        },
        {
            "label": "collect test coverage (debug)",
            "command": "dotnet",
            "type": "process",
            "args": [
                "test",
                "--configuration:Debug",
                "--settings:${workspaceFolder}/Tests/coverlet.runsettings",
                "--collect:XPlat Code Coverage",
                "WebApp.sln"
            ],
            "problemMatcher": "$msCompile",
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "group": "test"
        },
        {
            "label": "create coverage report",
            "command": "dotnet",
            "type": "process",
            "args": [
                "reportgenerator",
                "-reports:${workspaceFolder}/Tests/**/coverage.cobertura.xml",
                "-targetDir:${workspaceFolder}/CoverageReports",
                "-assemblyfilters:-Minio;-WebApp.Testing.Mocks;-xunit.*;-WebApp.Blazor.UnitTests;-WebApp.Testing.Utils;-Bunit.*;-Humanizer",
                "-classfilters:-Cyotek.Collections.Generic.*"
            ],
            "presentation": {
                "focus": true
            },
            "problemMatcher": "$msCompile",
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "group": "test",
        },
        {
            "label": "test (debug)",
            "dependsOrder": "sequence",
            "dependsOn": [
                "start docker services",
                "clean-test-results",
                "collect test coverage (debug)",
                "create coverage report",
                "stop docker services"
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "presentation": {
                "focus": true
            }
        },
        {
            "label": "test (release)",
            "dependsOrder": "sequence",
            "dependsOn": [
                "start docker services",
                "clean-test-results",
                "collect test coverage (release)",
                "create coverage report",
                "stop docker services"
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "presentation": {
                "focus": true
            }
        },
        {
            "label": "test (docker)",
            "command": "docker-compose -f docker-compose-test.yml up --abort-on-container-exit --build --exit-code-from webapp --remove-orphans",
            "type": "shell",
            "options": {
                "cwd": "${workspaceFolder}/Docker"
            },
            "presentation": {
                "focus": true
            }
        }
    ]
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65012102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档