Остановись и начни свой сайт с торта - PullRequest
0 голосов
/ 14 сентября 2018

Мы используем teamcity для нашего сервера сборки, и я беру проект для разработчика, которого больше нет с нами. Он написал файл build.cake для отправки наших сайтов на наши серверы вместе с некоторыми другими вещами. У меня нет опыта в этом, и мне нужно обновить его, чтобы также запускать и останавливать сайт и приложение при нажатии на сайт. В поиске это я наткнулся на это . Я обновил наш файл build.cake следующим образом.

Task("deploy_live_websites")
    .IsDependentOn("use_live_config")
    .Does(() => 
    { 
        foreach (var site in websites){
            foreach (var server in liveServers){
                CreatePool(server, new ApplicationPoolSettings()
                {
                    Name = site.ApplicationPoolName,
                    Username = devWebDeployUser,
                    Password = devWebDeployPassword
                });
                CreateWebsite(server, new WebsiteSettings()
                {
                    Name = site.SiteName,
                    Binding = IISBindings.Http
                                .SetHostName(site.HostName)
                                .SetIpAddress("*")
                                .SetPort(80),
                    PhysicalDirectory = site.PhysicalDirectory,
                    ApplicationPool = new ApplicationPoolSettings()
                    {
                        Name = site.ApplicationPoolName
                    }
                });

                StopSite(server, site.SiteName);
                StopPool(site.ApplicationPoolName);

                DeployWebsite(new DeploySettings()
                {                   
                    SourcePath = "./artifacts/_PublishedWebsites/" + site.Name + "/",
                    ComputerName = server,
                    SiteName = site.SiteName,
                    Username = webDeployUser,
                    Password = webDeployPassword
                });

                StartPool(site.ApplicationPoolName);
                StartSite(site.SiteName);
            }           
        }
    });

В частности, я сделал следующие обновления: линии StopSite, StopPool, StartPool, StarSite.

Когда я отправляю это на наш сервер сборки, происходит сбой при запуске Я получаю ошибку

[20:29:19][Step 1/1] ========================================
[20:29:19][Step 1/1] deploy_live_websites
[20:29:19][Step 1/1] ========================================
[20:29:19][Step 1/1] Executing task: deploy_live_websites
[20:29:19][Step 1/1] Application pool 'TECWare_v4' is system's default.
[20:29:19][Step 1/1] An error occurred when executing task 'deploy_live_websites'.
[20:29:19][Step 1/1] Error: One or more errors occurred.
[20:29:19][Step 1/1]    Could not load file or assembly 'System.Diagnostics.TraceSource, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
[20:29:19][Step 1/1] Process exited with code 1
[20:29:05][Step 1/1] Process exited with code 1
[20:29:19][Step 1/1] Step PowerShell failed

Понятия не имею, в чем проблема. У кого-нибудь есть идеи, как это исправить? Он работал нормально до добавления методов запуска / остановки. Также я добавил #addin "Cake.IIS" в начало файла.

...