如何使用 Yaml 在 devops 管道中添加绑定

and*_*uez 2 azure azure-devops azure-pipelines-build-task azure-pipelines

如何使用 yaml 在“IIS Web 应用程序管理”任务中添加绑定?我尝试像经典管道一样放置绑定,但不起作用

在此处输入图片说明

Sho*_*hoe 13

接受的答案没有给出关于用法的很好的例子。输入Bindings接受格式化为特定 JSON 对象的多行字符串。还要确保按照AddBinding: true显示的方式进行设置,如果没有它,它将忽略Bindings输入。

与此相关的是,如果您将证书存储在 WebHosting(而不是 MY)中,部署将会失败,因为任务将无法找到您的证书。这是修复此问题的相关 github 增强功能

task: IISWebAppManagementOnMachineGroup@0
displayName: 'IIS Web App Manage'
inputs:
    IISDeploymentType: 'IISWebsite'
    ActionIISWebsite: 'CreateOrUpdateWebsite'
    ...
    AddBinding: true
    Bindings: |
        {
            bindings:[
                {
                    "protocol":"http",
                    "ipAddress":"*",
                    "hostname":"mywebsite.com",
                    "port":"80",
                    "sslThumbprint":"",
                    "sniFlag":false
                },
                {
                    "protocol":"https",
                    "ipAddress":"*",
                    "hostname":"mywebsite.com",
                    "port":"443",
                    "sslThumbprint":"...",
                    "sniFlag":true
                 }
            ]
        }
Run Code Online (Sandbox Code Playgroud)


and*_*uez 6

您需要创建一个包含以下所有信息的 JSon:

                                {
                                        "bindings":[{
                                            "protocol":"http",
                                            "ipAddress":"*",
                                            "port":"xxxxx",
                                            "sslThumbprint":"",
                                            "sniFlag":false
                                        },
                                        {
                                            "protocol":"http",
                                            "ipAddress":"*",
                                            "hostname":"yyyyyy.com",
                                            "port":"80",
                                            "sslThumbprint":"",
                                            "sniFlag":false
                                        },
                                        {
                                            "protocol":"http",
                                            "ipAddress":"*",
                                            "hostname":"xxxxxxxx.com",
                                            "port":"80",
                                            "sslThumbprint":"",
                                            "sniFlag":false
                                        }
                                    ]
                                } 
Run Code Online (Sandbox Code Playgroud)