O Cake é um automatizador de tarefas construído sobre o compilador do C# e de fácil configuração.
Instalando o Cake
Para usar o Cake, precisamos baixar os scripts de automação que vem todos em um arquivo chamado build.ps1 que roda no Powershell. Para isso, abra o Powershell, crie uma pasta chamada CakeAutomation.
1 2 3 4 5 6 7 8 9 10 11 |
PS C:\> Set-Location .\GitHub\ PS C:\GitHub> New-Item -ItemType Directory -Path CakeAutomation Diretório: C:\GitHub Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 27/01/2018 12:26 CakeAutomation PS C:\GitHub> Set-Location .\CakeAutomation\ PS C:\GitHub\CakeAutomation> |
Com a pasta criado, execute o comando para baixar o pacote com as configurações.
1 |
Invoke-WebRequest https://cakebuild.net/download/bootstrapper/windows -OutFile build.ps1 |
Pronto, o ambiente está configurado, agora precisamos de um projeto para automatizar.
Crie uma aplicação de exemplo
Eu tenho um post que ensina como criar uma aplicação console com o Visual Studio Code, vamos usar este exemplo para automatizar uma build:
Visual Studio Code: como criar uma aplicação console em C#
Crie o script de build da aplicação com o Cake
Na raiz do projeto, inclua uma arquivo chamado build.cake, que será onde residirá todo o código de automação. Edite o arquivo conforme segue:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
var targetHello = Argument("target", "Default"); var targetBuild = Argument("target", "Build"); var configuration = Argument("configuration", "Release"); var artifactsDirectory = MakeAbsolute(Directory("./artifacts")); Task("Default") .Does(() => { Information("Hello World! Lets build? Sure."); }); RunTarget(targetHello); Task("Build") .Does(() => { foreach(var project in GetFiles("./src/**/*.csproj")) { DotNetCoreBuild( project.GetDirectory().FullPath, new DotNetCoreBuildSettings() { Configuration = configuration }); } }); RunTarget(targetBuild); |
Agora o script está pronto para ser rodado, para isso, é preciso que você esteja na raiz do projeto, via powershell digite o comando a seguir:
1 |
PS C:\GitHub\CakeAutomation> .\build.ps1 |
Site oficial
Extensão para VS Code:
https://marketplace.visualstudio.com/items?itemName=cake-build.cake-vscode