Dentre os arquivos repassados na entrega do código fonte da platafoma, encontram-se os arquivos que descrevem a configuração do ambiente de produção no AWS. Os arquivos estarão numa pasta:

Você encontra mais informações sobre estes arquivos no link Configuração do Ambiente de Produção.
Inicie a conexão abrindo o arquivo com extensão .rdp
Use a senha WindowsPassword, encontrada no arquivo resources.json, seção de configuração Compute

Há apenas uma aplicação configurada no IIS do servidor.

Os arquivos da aplicação podem ser encontrados no seguinte caminho:

Para publicar a aplicação, basta levar o código fonte compilado para dentro do caminho indicado acima.
Alternativamente, se você usa o GitHub, oferecemos o script powershell abaixo, que pode ser executado diretamente dentro da máquina ou através de automação pelo AWS Cli, utilizando o recurso Systems Manager. Veja mais informações neste link.
O script abaixo te ajuda a fazer uma publicação dentro do servidor, clonando automaticamente o código a partir de um repositório do GitHub.
Primeiro, é necessário criar uma chave SSH na sua conta do GitHub, que serve para autorizar o acesso do script ao seu repositório. Siga os passos do artigo:
https://docs.github.com/en/authentication/connecting-to-github-with-ssh
Acesse o servidor via RDP e salve uma cópia da chave SSH.
Recomendamos "C:/Users/Administrator/.ssh/id_rsa".
Anote o caminho para usar nos próximos passos. No script abaixo, logo nas primeiras linhas, troque as variáveis $gitRepo e $sshKeyPath de acordo com sua conta/repositório no GitHub e seu ambiente.
O que este script faz é:
Excluir a cópia local do código fonte baixada do GitHub, se houver
Excluir a pasta de build, se existir
Clonar o repositório, criando uma cópia local
Restaurar os pacotes NuGet
Compilar a aplicação
Reiniciar o pool da aplicação no IIS
$gitRepo = "git@github.com:inamarketplace/marketplace.git"$sshKeyPath = "/C/Users/Administrator/.ssh/id_rsa"$localRepo = "C:\inetpub\repository"$slnDir = "C:\inetpub\repository\marketplace"$sln = "C:\inetpub\repository\marketplace\WhiteLabel.sln"$csproj = "C:\inetpub\repository\marketplace\Presentation\Presentation.csproj"$tempDir = "C:\inetpub\build"$website = "C:\inetpub\wwwroot"$connStrings = "connstrings.config"$appSettings = "appsettings.config"$connStringsDef = "connstrings.defaults.config"$appSettingsDef = "appsettings.defaults.config"if (test-path $localRepo){"Cleaning local repository"remove-item -recurse -force "$localRepo\*" -confirm:$false}if (test-path $tempDir){"Cleaning temp build directory"remove-item -recurse -force "$tempDir\*" -confirm:$false}if (!(test-path $localRepo)){new-item -itemType directory -force -path $localRepo}if (!(test-path $tempDir)){new-item -itemType directory -force -path $tempDir}"Cloning repository"cd $localRepogit clone -b master $gitRepo --config core.sshCommand="ssh -i $sshKeyPath -o StrictHostKeyChecking=no""Creating local separate config files in repository for building"get-content "$localRepo\marketplace\Presentation\$connStringsDef" | set-content "$localRepo\marketplace\Presentation\$connStrings"get-content "$localRepo\marketplace\Presentation\$appSettingsDef" | set-content "$localRepo\marketplace\Presentation\$appSettings""Restoring packages and building project"cd \nuget restore $slnmsbuild $csproj /nologo /verbosity:m /t:Build /t:pipelinePreDeployCopyAllFilesToOneFolder /p:_PackageTempDir=$tempDir /p:SolutionDir=$slnDir /p:Configuration=Release -restore"Removing separate config files to prevent overwriting configurations"remove-item "$tempDir\$connStrings" -forceremove-item "$tempDir\$appSettings" -force$stopPoolRetryCount = 0;if ((get-webAppPoolState -name "DefaultAppPool").Value -ne "Stopped"){"Stopping pool DefaultAppPool"stop-webAppPool -name "DefaultAppPool"}do{if ((get-webAppPoolState -name "DefaultAppPool").Value -eq "Stopped"){"Pool stopped"break}"Pool is not stopped, waiting for 10 seconds"start-sleep -s 10$stopPoolRetryCount = $stopPoolRetryCount + 1;}while ($stopPoolRetryCount -le 10)if (test-path "$website\bin"){"Cleaning bin directory"remove-item -recurse -force "$website\bin\*" -confirm:$false}"Copying built project to web site folder"copy-item -force -recurse "$tempDir\*" -destination $websiteif (!(test-path "$website\$connStrings")){get-content "$slnDir\Presentation\$connStringsDef" | set-content "$website\$connStrings"}if (!(test-path "$website\$appSettings")){get-content "$slnDir\Presentation\$appSettingsDef" | set-content "$website\$appSettings"}"Restarting pool"start-webAppPool DefaultAppPool"Done :)"
Observação: o script é fornecido "as-is" e sem garantias. Use por sua conta em risco. Fique à vontade para alterar e adaptar o script conforme as suas necessidades.