====== Núcleo de Integração Contínua ====== Este artigo tem por finalidade, apresentar as diretrizes e definições para o Núcleo de Integração Contínua, intitulado **IntegraC**. ===== IntegraC ===== O Núcleo de Integração Contínua, **integraC**, tem por finalidade, gerenciar o processo de implantação de produtos web desenvolvidos pela **InfoTIC** no que abrange as tarefas lógicas do processo, apoiando-a nos projetos, orientando e prestando suporte a outros integrantes da **Diretoria de Sistemas da UFRJ** no que tange a este escopo. O processo de trabalho do //interventor//, título do integrante deste núcleo, consiste em: * Acompanhar o desenvolvimento da aplicação com foco na implantação; * Realizar a implantação da aplicação no que se refere as responsabilidades do núcleo; * Prestar serviço de nível 1 quando nas demandas apresentadas na implantação/atualização do serviço; * Apoiar na resolução de demandas quando apresentada no grupo; * Acionar os responsáveis quando a demanda não possa ser atendida pelo núcleo. ==== Interventor ==== O //interventor// é um colaborador da **InfoTIC**, componente do Núcleo de Integração Contínua que tem por responsabilidade, no projeto em que está inserido, assumindo este papel: identificar a demanda apresentada e, conforme as soluções possível, direcionar as ações necessárias para os responsáveis pela sua execução. É necessário observar que, assumindo o papel de //interventor//, o colaborador que não acumular o papel de desenvolvedor naquele projeto, não tem a responsabilidade de sanar demandas de desenvolvimento. ==== Supervisor ==== O //supervisor// é um //interventor// que tem como responsabilidade a manutenção operacional e gerencial do Núcleo de Integração Contínua. É dele a responsabilidade de auxiliar os outros integrantes do Núcleo, orientando nas diretrizes e protocolos definidos para o grupo. ==== Sobre os níveis de atendimento e suas responsabilidades ==== Para seguir um processo de trabalho que atenda de forma mais eficiente, sem a sobrecarga nos colaboradores, é de importância a documentação de todas as técnicas e resoluções já utilizadas e encontradas para a efetivação dos atendimento. Isso pode ser realizado através do registro dos passos executados para solucionar determinada demanda. Logo, é imprescindível manter uma base de conhecimento das ações realizadas pelos membros do Núcleo. Além disso, o processo de atendimento se dará de forma hierárquica, em um método em cascata, onde, quando não solucionado em um determinado nível, deve-se passar para o nível seguinte. ---- === Nível 1 === No primeiro nível de atendimento, o nível 1, ocorre o atendimento Pontual, quando a demanda pode ser atendida pelo //interventor//. Neste nível, um conjunto mínimo de ações atômicas são necessárias, sem profundas investigações de soluções análogas para a resposta à solicitação apresentada. São exemplos de demandas deste nível: * Executar a criação do Job; * Executar o Build da aplicação; * Realizar alteração nas configurações de ambiente da aplicação. ---- === Nível 2 === Quando não atendida pelo nível anterior, o //interventor// apresenta a demanda ao Núcleo de Integração Contínua. Este é o segundo nível, quando todo o Núcleo despende esforços para o tratamento da demanda. São exemplos de demanda deste nível: * Demandas que necessitam pesquisa aprofundada para sua solução, que não se encontra na base de conhecimento oficial do núcleo. ---- === Nível 3 === Quando não atendida no nível anterior procura-se um especialista no tema envolvido na demanda ou os responsáveis de outras Diretorias. São exemplos de demanda deste nível: * Problemas na infraestrutura de rede. * Problemas na infraestrutura de servidor. ---- ==== Sobre o processo de formação e atuação do núcleo de integração contínua ==== A implantação do grupo ocorrerá em três etapas que refletem o processo atual da integração e o processo ideal. O processo atual ocorre da seguinte forma, todo o processo de integração contínua está de responsabilidade da **Divisão de Suporte a Sistemas Corporativos (DSSC)**. Este processo, de forma resumida, ocorre da seguinte forma: - A InfoTIC solicita, através de Chamado de Serviço, a implantação da aplicação desenvolvida no projeto; - A DSSC cria a estrutura de Contêiner que suportará a aplicação; cria a estrutura da Base de Dados, cria o apontamento DNS e implementa e executa o Job da ferramenta de integração (atualmente o Jenkins). ---- Na primeira etapa, iniciada neste momento, o processo ocorrerá da seguinte forma: - A InfoTIC solicita, através de Chamado de Serviço, a implantação da aplicação desenvolvida no projeto; - A DSSC cria a estrutura de Contêiner que suportará a aplicação; cria a estrutura da Base de Dados, cria o apontamento DNS; - A InfoTIC implementa e executa o Job da ferramenta de integração (atualmente o Jenkins). {{ :infotic:ic:implantacaosistemas-1.0.png?1000 |}} **Para que esta etapa possa ser concluída, é necessário:** - **A comunicação e ciência dos convocados;** - **O treinamento dos integrantes na operação da ferramenta de integração (atualmente o Jenkins);** - **A formalização e apresentação do Núcleo de Integração Contínua para a Diretoria e;** - **A alocação dos //interventores// nos projetos em desenvolvimento.** ---- Na segunda etapa do processo ocorrerá da seguinte forma... - A InfoTIC solicita, através de Chamado de Serviço, a implantação da aplicação desenvolvida no projeto; - A DSSC cria a estrutura da Base de Dados, cria o apontamento DNS; - A InfoTIC cria a estrutura de Contêiner que suportará a aplicação, implementa e executa o Job da ferramenta de integração (atualmente o Jenkins). {{ :infotic:ic:implantacaosistemas-2.0.png?1000 |}} ---- Na terceira etapa do processo ocorrerá da seguinte forma... - A InfoTIC solicita, através de Chamado de Serviço, a implantação da aplicação desenvolvida no projeto; - A DSSC cria o apontamento DNS; - A InfoTIC cria a estrutura de Contêiner que suportará a aplicação, cria a estrutura da Base de Dados, implementa e executa o Job da ferramenta de integração (atualmente o Jenkins). {{ :infotic:ic:implantacaosistemas-3.0.png?1000 |}} === Atribuições e responsabilidades em cada etapa === == Etapa 1 == Na etapa de formação do núcleo de integração contínua pois seus integrantes terão como principais responsabilidades: a criação de Jobs para a implantação de aplicações web desenvolvidas pela Diretoria de sistemas da UFRJ; a construção uma vez da posse dos jovens para a correta implantação das aplicações desenvolvidas pela mesma diretoria. == Etapa 2 == Construção de imagens para a instanciação de contêineres que implementam o ambiente próprio das aplicações desenvolvidas. == Etapa 3 == Gestão das Ferramentas de gerenciamento da base de dados. **O IntegraC não será responsável por:** * Atividades de responsabilidade de outra equipe externa InfoTIC; * Gerenciar servidores de aplicação ou dados; * Gerenciar infraestrutura de rede. Fica eximida a Diretoria da tarefa de criação e configuração de apontamentos dos DNS responsáveis por tornar as aplicações web acessíveis pelos usuários da internet. ====== Convocação ====== Prezado(a) Colaborador(a), visando o aumento da eficiência e eficácia dos trabalhos executados pela Diretoria de Sistemas da UFRJ, na construção de um processo de trabalho que envolva boas práticas e automação, vimos atualizando-o constantemente. Nesta nova etapa de atualização, estamos iniciando a formalização do Núcleo de Integração Contínua. Este Núcleo tem por objetivo, o acompanhamento dos projetos em execução na InfoTIC, no que se relaciona com as atividades de Integração Contínua dos produtos nas diversas fases que adotamos: Desenvolvimento, Homologação e Produção. As diretrizes e protocolos podem ser acompanhados através da Wiki da InfoTIC/UFRJ: https://wiki.tic.ufrj.br/doku.php?id=infotic:ic:nic Com isso, solicitamos a sua leitura para ciência e posterior avaliação sobre a sua participação no Núcleo. Aguardamos a sua resposta. Atenciosamente, a Direção.