Titulo Estágio
xGen DevOps: Continuous Integration And Continuous Delivery
Áreas de especialidade
Engenharia de Software
Local do Estágio
IPN - Instituto Pedro Nunes (Laboratório de Informática e Sistemas)
Enquadramento
A geração de código tem evoluído de forma consistente nos últimos anos, tendo as ferramentas de desenvolvimento incorporado capacidades de geração de código mais evoluídas e de mais alto nível. Além disso têm surgido cada vez mais ferramentas de muito alto nível, que permitem a criação de aplicações de forma mais rápida e com menor necessidade de conhecimentos técnicos por parte do utilizador, como por exemplo as plataformas Kony ou Mendix.
O IPN durante os últimos anos tem colaborado no desenvolvimento da xGen, uma plataforma de geração de código focada nas necessidades dos programadores. A xGen tem a capacidade para gerar aplicações em múltiplas linguagens e para várias arquiteturas, suportando desenvolvimento Web e Mobile.
Objetivo
O presente estágio tem como objetivos a conceção e desenvolvimento do módulo de DevOps da plataforma xGen. Este novo módulo adicionará as capacidades de armazenamento e versionamento do código num repositório centralizado para cada aplicação, execução de operações de “Build” e “Deploy”, assim como execução de testes automatizados e respetivo relatório e notificação. Para tal o estagiário vai-se focar em analisar de forma crítica as tecnologias e ferramentas a usar, nomeadamente git, Gitlab, Jenkins, Team City, Circle CI, SonarQube e outros que sejam relevantes, com o intuito de selecionar as mais adequadas aos objetivos do estágio. O desenvolvimento da solução será realizado maioritariamente na linguagem C# e com recurso à framework .NET.
Os objetivos do estágio são:
- Aquisição de conhecimento sobre tecnologias de desenvolvimento;
- Aquisição de conhecimento sobre as ferramentas a usar, em particular as suas API’s;
- Aquisição de conhecimento sobre geração de código;
- Definição dos requisitos do sistema;
- Desenho da arquitetura do sistema;
- Implementação de protótipo do sistema e templates;
- Elaboração de plano e execução de testes.
Plano de Trabalhos - Semestre 1
Durante o 1º semestre, o projeto será composto pelas seguintes fases de desenvolvimento:
• F1 – Análise do estado da arte (40% do semestre) – Análise de soluções, boas práticas e as tecnologias a usar no projeto, nomeadamente C# e git. É esperado que sejam a analisadas ferramentas que auxiliam os vários processos de instalação e integração continua.
• F2 – Levantamento de requisitos (30% do semestre) – esta tarefa consiste no levantamento de requisitos dos módulos a desenvolver, nomeadamente quais as funcionalidades e forma de configuração.
• F3 – Desenho (30% do semestre) – Desenho de arquitetura do módulo xGen DevOps
Nota: o relatório para defesa intermédia do estágio deverá ser escrito ao longo do semestre.
Plano de Trabalhos - Semestre 2
Durante o 2º semestre, o projeto será composto pelas seguintes fases:
• F4 – Implementação (70% do semestre) – Implementação dos requisitos especificados em F2, seguindo as decisões arquiteturais tomadas em F3. O desenvolvimento deverá seguir a metodologia Test-Driven Development, com a implementação de testes unitários e de integração.
• F5 – Testes (30% do semestre) – Desenvolvimento de testes funcionais aos templates, para verificação dos requisitos. Implementação de correções aos erros detetados.
Nota: o relatório para defesa final do estágio deverá ser escrito ao longo do semestre.
Condições
O trabalho será realizado no Laboratório de Informática e Sistemas (LIS) do Instituto Pedro Nunes (IPN). Estágio remunerado de acordo com o regulamento de bolsas do IPN aprovado pela FCT.
Orientador
Alcides Manuel de Almeida Marques
alcides.marques@ipn.pt 📩