Simple Automatic Deployer
Sistema simples e automático para implementação de softwares.
- e5rsad.exe escutando as mudanças nos diretórios:
- /wainting: Tarefas em espera [[provavelmente só esta é suficiente]]
- /initiated: Tarefas iniciadas
- /completed: Tarefas completadas
- As tarefas são descritas em arquivos JSON;
- e5rsad.exe mantem uma fila das tarefas
- Quando um arquivo novo é detectado um objeto TaskBase é criado e incluído na fila`waiting;
- Após a conclusão de uma tarefa, e/ou de tempos em tempos a próxima tarefa é iniciada:
- Aí a mesma é removida do diretório (e da fila) waiting e movida para initiated;
- Quando uma tarefa é finalizada (com sucesso ou erro) a mesma é movida da fila (e do diretório) initiated para completed;
- E a próxima tarefa (se ouver é iniciada)
Dentro de cada diretório, uma tarefa (mudar para "um arquivo de deploy") é descrita por um arquivo JSON.
{
"deploy_id": "000001",
"steps": [
{
"task": "CheckoutSVN",
"params": {
"repository": "http://svn.company.com",
"user": "UserName",
"password": "Password",
"path": "tags/v1.0.1",
"revision": "767687678"
}
},
{
"task": "MSBuild",
"params": {
"target": "Main.sln",
"extra_params": "/NoLogo /NoConsoleLogger"
}
},
{
"task": "script_powershell",
"params": {
"script": "build/custom.ps1"
}
}
],
"output": {
/* The output information of execution */
}
}Por segurança, é necessário haver um arquivo de deploy's permitidos.
[
{ "id": "APP_001", "name": "Application One" },
{ "id": "APP_002", "name": "Application Two" }
]