Logo do repositório
 
Publicação

Automatização do processo de deployment

datacite.subject.fosEngenharia e Tecnologia
datacite.subject.sdg09:Indústria, Inovação e Infraestruturas
dc.contributor.advisorCarvalho, Piedade Barros Lopez
dc.contributor.authorRODRIGUES, RÚBEN ALEX FERREIRA
dc.date.accessioned2025-10-01T13:23:06Z
dc.date.available2025-10-01T13:23:06Z
dc.date.issued2025-07-25
dc.description.abstractNum contexto organizacional cada vez mais exigente, a automatização do processo de deployment tornou-se uma componente crítica na melhoria da eficiência, fiabilidade e previsibilidade dos ciclos de entrega de software. Esta dissertação teve como objetivo conceber, desenvolver e validar uma solução de automatização do processo de deployment, adaptada à realidade de uma organização tecnológica de grande escala, com múltiplas equipas, ambientes e restrições operacionais. A investigação seguiu a metodologia Design Science Research (DSR), articulando uma fase de diagnóstico com iterações de conceção, implementação e validação. O trabalho inicia-se com uma revisão do estado da arte, abordando práticas consolidadas em DevOps e CI/CD, como testes de sanidade automatizados, rollbacks condicionais, monitorização contínua e reporting automático. São também analisadas ferramentas como Jenkins, GoCD, Splunk, Sensu e Grafana, avaliando a sua aplicabilidade no contexto da pipeline da organização. A solução proposta materializou-se no desenvolvimento de uma aplicação autónoma — o Release Assistant — que centraliza e automatiza etapas críticas do deployment, como a gestão de tráfego, validações pós-deployment (sanity checks, métricas, alarmes) e produção de relatórios. A arquitetura modular permite integração com sistemas existentes e reutilização em múltiplos serviços e ambientes. Os resultados demonstram uma redução objetiva no esforço manual e no tempo de execução. Com base em medições, registou-se uma redução média de 15 minutos por execução, equivalente a cerca de 41% da duração dos deployments, refletindo-se diretamente na eficiência operacional. A solução aumentou ainda a fiabilidade das validações, assegurando maior consistência nos testes e deteção precoce de falhas. Em termos de contributo, o trabalho apresenta uma abordagem replicável de automatização de validações integrada em pipelines CI/CD, validada num ambiente de produção real e sustentada por evidência quantitativa e feedback qualitativo. Apesar dos resultados positivos, reconhece-se que a solução depende da estrutura atual das pipelines e da existência de sistemas de monitorização acessíveis por API. A adoção noutros contextos poderá exigir adaptações. Ainda assim, o trabalho demonstra o potencial da automatização como vetor de transformação digital orientado à melhoria contínua dos sistemas e processos operacionais.por
dc.description.abstractIn an increasingly demanding organizational context, deployment automation has become a critical component in improving the efficiency, reliability, and predictability of software delivery cycles. This dissertation aimed to design, develop, and validate a deployment automation solution tailored to the reality of a large-scale technology organization with multiple teams, environments, and operational constraints. The research followed the Design Science Research (DSR) methodology, combining a diagnostic phase with iterative cycles of design, implementation, and validation. The work begins with a state-of-the-art review, covering established DevOps and CI/CD practices such as automated sanity checks, conditional rollbacks, continuous monitoring, and automated reporting. Tools such as Jenkins, GoCD, Splunk, Sensu, and Grafana are analyzed, assessing their applicability within the organization’s pipeline. The proposed solution took the form of a standalone application — the Release Assistant — which centralizes and automates critical deployment stages, including traffic management, post-deployment validations (sanity checks, metrics, alarms), and report generation. Its modular architecture enables seamless integration with existing orchestration systems and reuse across multiple services and environments. The results demonstrate a measurable reduction in manual effort and execution time. Based on recorded measurements, an average reduction of 15 minutes per deployment was achieved — approximately 41% of the total execution time — directly enhancing operational efficiency. Additionally, the solution improved validation reliability by ensuring greater consistency in postdeployment testing and enabling early fault detection. As a contribution, this work presents a replicable approach to automating validation processes within CI/CD pipelines, validated in a real production environment and supported by quantitative evidence and qualitative feedback from technical users. Despite the positive results, the solution has limitations. Its effectiveness depends on the current pipeline structure and the availability of monitoring systems with accessible APIs. Adoption in other contexts may require architectural or integration model adaptations. Nonetheless, the project demonstrates the potential of automation as a driver of digitaeng
dc.identifier.tid204007143
dc.identifier.urihttp://hdl.handle.net/10400.22/30522
dc.language.isopor
dc.rights.uriN/A
dc.subjectDEvOps
dc.subjectCI/CD
dc.subjectAutomatização
dc.subjectDeployment
dc.subjectSanity checks
dc.subjectMonitorização
dc.subjectOrquestração
dc.subjectObservabilidade
dc.subjectAutomation
dc.subjectMonitoring
dc.subjectOrchestration
dc.subjectObservability
dc.titleAutomatização do processo de deploymentpor
dc.title.alternativeAutomation of the deployment processeng
dc.typemaster thesis
dspace.entity.typePublication
thesis.degree.nameMestrado em Engenharia Informática

Ficheiros

Principais
A mostrar 1 - 1 de 1
Miniatura indisponível
Nome:
Tese_5793.pdf
Tamanho:
10.27 MB
Formato:
Adobe Portable Document Format
Licença
A mostrar 1 - 1 de 1
Miniatura indisponível
Nome:
license.txt
Tamanho:
4.03 KB
Formato:
Item-specific license agreed upon to submission
Descrição: