Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 20810|Resposta: 0

[Fonte] Como a Jekins implanta um projeto no .NET Framework

[Copiar link]
Publicado em 22/11/2018 10:29:09 | | | |
Nota: Neste artigo, o uso de "build", "continuous build", "compile" e "generate" não é rigoroso, basta saber o que significa.

Primeiramente, se você quer construir continuamente, precisa usar a linha de comando.
Mas os comandos do dotnet core parecem ser um pouco mais simples do que o projeto dotnet framework.
Porque o comando build do dotnetcore édotnet msbuild xxxxx.csproj/yyyyy.sln
E o comando build do framework dotnet é.../msbuild.exe xxxx.csproj/yyyyy.sln, e a coisa mais confusa entre eles (principalmente pessoas que nunca caíram em um buraco, é só deixar pra lá) é o seguintemsbuild.exeOnde exatamente está?msbuild.exe? Afinal, após instalar o SDK dotnet framework ou diferentes versões do Visual Studio no Windows, haverá muitosmsbuild.exe, as pessoas não sabem qual usar.

Vamos começar com como construir um projeto dotnet framework no Windows, para não deixar que a complexidade do projeto afete a ideia principal; aqui achamos que queremos construir um projeto simples de console semelhante ao Hello World.
Em resumo, o meio ambiente:
máquina de desenvolvimento, Windows PC;
Máquina de publicação, Windows Server;
Project, um projeto simples de console do framework dot net. (Estou usando a versão 4.5.2 aqui)

em

É melhor inicializar um novo projeto em uma máquina de desenvolvimento com gerenciamento de código, como o git, para que o projeto possa ser clonado em outras máquinas com rede.
O que quer que você escreva no projeto na máquina de desenvolvimento, desde que possa ser compilado. Por exemplo, olá mundo.
Além disso, recomenda-se adicionar um pouco de dependência do pacote nuget ao projeto e escolher o que quiser, como referências log4net.
Tente compilar o projeto na máquina de desenvolvimento.
(Após várias tentativas, foi confirmado que a linha de comando deveria usar o msbuild.exe C:\windows\Microsoft .NET\Framework\v4.xxx\msbuild.exe ao compilar o projeto.) No entanto, o tipo específico do projeto ainda depende do tipo, escolha se escolhe Framework64 ou não 64, seja v4.xxx ou 3.x, 2.x, esse significado é muito simples, se você não entender, será impotente)
Se o projeto estiver sob o caminho C:\projects\test, então o comando compilado deve ser:

ou
Claro, você também pode precisar levar outros parâmetros como /p:Configuration=Release /p:plotform="Any CPU", dependendo da situação.

4. Na máquina de teste, faça um clone git do projeto e tente compilar o projeto com o mesmo comando.
5. Se você não tiver sucesso, deve continuar tentando o msbuild.exe, caminho, parâmetros corretos, etc., enquanto não houver problemas no ambiente, você certamente terá sucesso.
6. No entanto, surge uma pergunta muito irritante: e quanto às dependências de nugets? Agora, não tenho problemas óbvios para compilar, mas como saber onde encontrar o pacote Nuget?
Essa pergunta me marcou por muito tempo.
Acesse o site oficial do NuGet e baixe nuget.exe arquivo.
Após tentar, esse arquivo é colocado no projeto (ou seja, no mesmo diretório do arquivo SLN ou CSPROJ) e executadonuget.exe restauraçãoComando para obter o pacote Nuget necessário. Essa foi a experiência que tive depois de muitas tentativas)
Bem, você pode adicionar uma ação ao script e executar o comando nuget.exe restaurar toda vez.
Também seria um pouco mais conveniente adicionar nuget.exe à variável ambiente (sem explicação) e executá-la toda vez.
7. Finalmente, testei e descobri que o projeto pode ser compilado com sucesso por meio de tais operações e comandos na máquina de publicação.
Isso está perto do sucesso final.
Na verdade, para quem entende o que são jekins, este é o fim da questão, e o resto pode ser feito sozinhos.

Abaixo

1. Ir ao site oficial do Jekins, baixar, instalar, abrir o Jekins, registrar uma conta, sem explicação. Para projetos dotnet, você precisa instalar os plugins msbuild, mstest e mstestrunner.

2. Configuração global Jenkins msbuild.



3. Criar um novo projeto e configurá-lo



4. Construir o projeto.

Basicamente, a construção é bem-sucedida, e é fácil de diagnosticar mesmo que não seja bem sucedido.

Na verdade, sobre o uso dos jekins, mais dele é aprendido por si mesmo e tentado muitas vezes para entender.

Suplemento:

1. Se o VS pode ser compilado com sucesso, mas há um prompt de sintaxe não suportado na linha de comando.
Então pode ser que o desenvolvedor esteja compilando com regras de sintaxe mais avançadas (embora o projeto seja baseado no .NET framework 4.5.2), como C# 6.0
A máquina de lançamento instalou apenas o .NET framework 4.5.2, então não suporta algumas das sintaxes mais recentes.
Então, nesse caso, instale o SDK mais recente na máquina de lançamento.
Como mostrado na figura.
Site oficial da Microsoft para download:https://www.microsoft.com/net/download/visual-studio-sdks
Baixe o SDK correspondente.
O SDK já inclui Runtime.

2. Se o trabalho de Jekins precisar usar o comando batman do windows para realizar uma série de operações, então usar o "Consulte para a lista de variáveis de ambiente disponíveis" de Jenkins será útil.
Escreva como "%WORKSPACE%"

3. Se houver espaço no caminho, como C:\Program Files (x86)\Microsoft.NET, é necessário adicionar aspas duplas em ambos os lados da variável.
Como:







Anterior:Jenkins foi brevemente apresentado
Próximo:Angular6 Material2 encapsula a caixa de prompt da mensagem de alerta
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com