Software Open Source e Integração Contínua no Instituto de Informática Ferramentas de Integração Contínua



Documentos relacionados
Integração Contínua com Rational Team Concert, Jenkins e SonarQube

ARTSOFT. Follow Up de Documentos

Gerência de Configuração de Software Funções


Gerenciamento de configuração. Gerenciamento de Configuração. Gerenciamento de configuração. Gerenciamento de configuração. Famílias de sistemas

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

INSTRUÇÃO DE TRABALHO PARA INFORMAÇÕES GERENCIAIS

PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ MANUAL DE UTILIZAÇÃO DO CVS NO ECLIPSE

A SÈTIMA. O nosso principal objectivo

Bugzilla para além da gestão de bugs. Paulo Zenida Linkare TI

ANEXO 1. Formulário de Candidatura da Instituição Projecto Final de Curso de IGE/ETI. Instituição de acolhimento. Supervisor nomeado pela instituição

Melhoria no Desenvolvimento Ágil com Implantação de Processo de Integração Contínua Multiplataforma para Java e.net. Hudson

Controle de Versão de Software. Luiz Jácome Júnior

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Coimbra: 16 e 17 de Abril. Faro: 14 e 15 de Maio. Faro: 16 de Maio. Faro: 17 de Maio. Faro: 18 de Maio

J820. Integração Contínua. com CVS, CruiseControl, Cruise Control. argonavis.com.br. AntHill Gump e Helder da Rocha (helder@acm.

Desenvolvimento Flex com Maven

Engenharia de Software

CONSULTORIA E SERVIÇOS DE INFORMÁTICA

ANEXO 1. Formulário de Candidatura da Instituição Projecto Final de Curso de IGE/ETI. Instituição de acolhimento. Supervisor nomeado pela instituição

UNIVERSIDADE CATÓLICA PORTUGUESA

Mestrado em Segurança da Informação e Direito no Ciberespaço. Segurança da informação nas organizações Modelos de analise

Versionamento de Código. Núcleo de Desenvolvimento de Software

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

O produto. Caraterísticas gerais e arquitetura do sistema

GERENCIAL SEPLAG CARTILHA AGENDA. Sumário

Plataforma Open Source de Desenvolvimento e Sustentação de Sistemas. Daniel Darlen Lucius Curado Ridai Pombo

Gestão de Modificações. Fabrício de Sousa

Gerência de Configuração. Professor: Dr. Eduardo Santana de Almeida Universidade Federal da Bahia

O aumento da força de vendas da empresa

Caso Prático: Java como ferramenta de suporte a um ambiente realmente colaborativo no método Scrum de trabalho

Engenharia de Software. Enunciado da Quarta Parte do Projecto

Soluções de Gestão de Clientes e Impressão Universal

ADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE CONFIGURAÇÃO

COLIBRI Ambiente Colaborativo Multimédia MÓDULO MOODLE. Rui Ribeiro FCCN - Dezembro 2010

Service Desk. IT Management Software. Certified Partner

Soluções em Documentação

Alexandre Malveira, Wolflan Camilo

Escolha o tipo de entidade: Clínicas Consultórios Hospitais Privados Ordens e Misericórdias

Helpdesk Gestão de Ocorrências na área das TIC. Marta Geraldo (Município de Palmela)

Solução de Dashboard. Monitorização e Alarmistica IT (Networking e Sistemas) ALL IN ONE SOLUTION SCALABILITY TECHNICAL SUPPORT

invgate Service Desk

Em início de nova fase, forumb2b.com alarga a oferta

Soluções de Gestão Integradas SENDYS ERP. Otimize a Gestão do Seu Negócio!

Concepção e Elaboração

Integração contínua com Hudson - Configuração, Extensão e Diversão! Fabiane Bizinella Nardon fabiane.nardon@zilics.com.br Zilics

Plataforma de Gestão de Actualizações de Software Descrição do Problema

GERÊNCIA DE CONFIGURAÇÃO. Isac Aguiar isacaguiar.com.br

Business Process Management. A Gestão Colaborativa dos Processos e da sua Performance em QPR

Os desafios da gestão de processos numa Instituição Financeira

PHC dteamcontrol Externo

TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO

Auditoria Sistemática

Metodologia de Desenvolvimento de Sistemas (MDS - ANEEL)

Base de Dados para Administrações de Condomínios

Criação de uma conta num servidor Web Instalação do programa de FTP FileZilla Upload de site via FTP

PHC Serviços CS. A gestão de processos de prestação de serviços

GESTÃO DOCUMENTAL E FLUXOS DE TRABALHO

CR.Doc. Management Platform for Clients and Documents

Rede de Laboratórios de Produtividade de Software

Gerência de Requisitos: MPS.BR, BABOK e Agile possuem algo em comum? Uma experiência no Governo com software Open Source

QMS QUALIDADE COMUNICAÇÃO DE GESTÃO DA ESTRUTURA CONFIANÇA DECISÃO MODELO. ambidata GARANTIA SISTEMA GESTÃO SISTEMA RELATÓRIO SOFTWARE

ANEXO 1. Formulário de Candidatura da Instituição Projecto Final de Curso de IGE/ETI. Instituição de acolhimento. Supervisor nomeado pela instituição

PHC InterOp CS. O aumento da produtividade da área financeira

Questões. Interwoven Gestão de Conteúdos Plataforma TeamSite Ambiente TeamSite Tipos de utilizador / Workflow / Templating Casos práticos

história sucesso Inovação e agilização dos processos de Gestão de Pessoal com SAP HCM

PHC Serviços CS. A gestão de processos de prestação de serviços

Engenharia de Software Sistemas Distribuídos

O Recurso a Meios Digitais no Contexto do Ensino Superior. Um Estudo de Uso da Plataforma.

Engenharia de Software Sistemas Distribuídos

Parceiro Oficial de Soluções Zabbix no Brasil

Pesquisa e organização de informação

Gerência de Configuração. Profº Rômulo César

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS

Redmine. Simplificando a gestão de projetos

Procedimento de Gestão PG 02 Controlo de Documentos e Registos

Os sistemas de informação da Fundação para a Ciência e a Tecnologia: contributo para uma perspectiva integrada da gestão da informação

O modelo unificado de processo. O Rational Unified Process, RUP.

EQUIPE: ANA IZABEL DAYSE FRANÇA JENNIFER MARTINS MARIA VÂNIA RENATA FREIRE SAMARA ARAÚJO

Citar e referenciar: gestores de referências bibliográficas. Isabel Marcos Direção de Serviços de Documentação Universidade Aberta Junho de 2015

Diretrizes de Qualidade de Projetos

Certificação do software de facturação passa a ser obrigatória a partir de 1 de Janeiro de 2011.

Laboratório de Engenharia de Software

Qualidade com Agilidade

Software Registado e Certificado pela AT GESTÃO DE LAVANDARIAS. mercado exigente! Certificado. Retail Solutions

Aplicação Prática de Lua para Web

PHC Imóveis CS. A gestão das atividades da mediadora imobiliária

Prognos SMART OPTIMIZATION

Ambientação JAVA. Versão 0.1 MICHEL CORDEIRO ANALISTA DE NEGÓCIO (NTI 2014) 1 UNIVERSIDADE CEUMA 08/01/2014

Direcção Regional de Educação do Algarve

Rock In Rio - Lisboa

GESTÃO DE ASSIDUIDADES

Termo de Abertura Sistema de Vendas de Pizzas Online (PizzaWeb) - Versão 1.0

ISO/IEC 12207: Gerência de Configuração

Transcrição:

Software Open Source e Integração Contínua no Instituto de Informática Ferramentas de Integração Contínua Janeiro 2015 Área de Desenvolvimento Departamento de Arquitetura e Desenvolvimento

Agenda Processo de desenvolvimento no Instituto de Informática Ferramentas Open Source Software/Free Software Integração Contínua, Entrega Contínua e Deployment Contínuo

Cadeia de Valor Processo de Gestão de Entregas

Metodologia UP

Fases e artefactos Conceção Elaboração Visão Lista de Riscos Documento Arquitetura Modelo Casos de Uso Plano de Projeto Construção Manual de Deployment Manual Operaçao Batches Queries aplicacionais Modelo Dados Físico Binários, Javadocs Casos de Uso Requisitos de Negócio Storyboard Requisitos Não Funcionais Pedido de Serviços Relatórios e Ofícios Documentos VIE s Modelo de Análise e Desenho Modelo Dados Lógico Protótipo Arquitetura Plano de Testes Transição Release Notes Relatório Final de Testes

Departamentos e Ambientes Departamento de Arquitetura e Desenvolvimento (DEV) Departamento de Administração de Sistemas (OPS) DESENVOLVIMENT O PRÉ-PRODUÇÃO QUALIDADE PRODUÇÃO

Ferramentas - Overview

SVN O que é? SCM Software Configuration Management/Version Control Client Web based Permite versionar artefatos e controlar quem fez o quê e quando Onde aplicamos Guardar em todas as versões os artefactos produzidos Disponibilizar informação não desmaterializada Grau de integração Transversal a todas as outras ferramentas

O que é? Wiki 2ª geração classes + objetos + scripting Guarda informação de forma estruturada Conteúdo colaborativo Web based Onde aplicamos Construção e disponibilização de artefactos (UC s, Visão, etc) Publicação de informação de interesse para a organização Desmaterialização de documentação Grau de integração SVN Documentos ou espaços exportados da xwiki são colocados no SVN

O que é? Sistema de Gestão de Erros/Bugs Web based Colaborativo Onde aplicamos Reporte de não conformidades Gestão de tarefas Grau de integração Jenkins Solicita o ID da tarefa associada à entrega IDE (plugin SVN) Código commited associado a uma tarefa ou não conformidade Tortoise (cliente SVN) Cada artefacto comitted deve incluir o ID de uma tarefa

O que é? Ferramenta de gestão para a construção de projetos de software Baseia-se no conceito de Project Object Model (POM) Permite centralizar a produção de binários, relatórios e documentação Onde aplicamos Em todos os projetos / subsistemas novos Em alguns projetos migrados Grau de integração Utilizado em modo stand-alone numa linha de comandos Integrado no IDE (Eclipse, NetBeans, etc) Integrado no Jenkins

O que é? Repositório que armazena e organiza os binários de software para uso nos vários ambientes Ponto central Onde aplicamos Partilhar / disponibilizar binários a ser instalados nos vários ambientes Repositório único de third-party jars Repositório fidedigno de snapshots e releases Grau de integração Populado pelo Jenkins / Maven

O que é? Plataforma para gerir a qualidade do código Apresenta gráficos com métricas e estatísticas Guarda histórico e evolução da qualidade de código Onde aplicamos No processo de entrega contínua Grau de integração Jenkins invoca o Sonar via plugin para validar código IDE Via plugin do IDE pode ser invocado

O que é? Orquestrador de tarefas repetitivas Compilador e executor de testes de projetos contínuos Monitorização de tarefas externas Onde aplicamos Na produção de daily-builds e deliveries Grau de integração SVN Checkout das sources e commit de tags MVN Execução de vários comandos Nexus Upload dos artefactos gerados Sonar Invocado para validação do código fonte Bugzilla Regista informação em tarefa de preparação de build

Onde moram os nossos artefactos Conceção Elaboração Visão Lista de Riscos Documento Arquitetura Modelo Casos de Uso Plano de Projeto Construção Manual de Deployment Manual Operaçao Batches Queries aplicacionais Modelo Dados Físico Binários, Javadocs Casos de Uso Requisitos de Negócio Storyboard Requisitos Não Funcionais Pedido de Serviços Relatórios e Ofícios Documentos VIE s Modelo de Análise e Desenho Modelo Dados Lógico Protótipo Arquitetura Plano de Testes Transição Release Notes Relatório Final de Testes

Processo de desenvolvimento Nova Funcionalidade ou Correção Tarefa atribuída Equipa Projeto Programadores, Testers, Responsáveis de Projeto ou Ferramentas Artefactos Lança Job Obtém artefactos Insere tags C ó d i g o F ont e p ar a aná l i s e SVN Repo Binários e outros artefactos

Integração Contínua Porquê? Rentabilizar as maiores potencialidades de cada uma das ferramentas, garantindo uma visão integrada e atualizada de toda a informação relevante dos projetos Permitir e facilitar uma maior paralelização de trabalhos Percepcionar e evitar problemas de integração de código fonte e de outros artefactos, desenvolvidos em simultâneo por diferentes elementos da equipa Benefícios Reduzir o risco garantindo que a build compila sempre caso de falha notifica a respetiva equipa rápido feedback para a equipa Bugs/defeitos detetados mais cedo Permitindo correção imediata dos bugs introduzidos no processo de desenvolvimento Torna mais fácil gerir várias linhas de desenvolvimento

Integração Contínua - Build Diária svn commit Programadores svn checkout SVN Repo Servidor CI Lança maven Versionamento Gera binários Executa testes unitários Empacota os binários

Entrega Contínua Porquê? Necessidade de disponibilizar automaticamente uma entrega Benefícios Permite reduzir riscos em torno nas releases Beneficia os gestores do negócio pois há sempre uma release candidata Possibilita rápido feedback sobre os produtos e estratégias desenvolvidas

Entrega contínua Delivery Build svn checkout svn commit Programadores Invoca Sonar SVN Repo Servidor CI re le as e mvn site deploy Lança maven m vn Versionamento Gera binários Executa testes unitários Empacota os binários Cria tag Cria site c/ resources Arquiva artefactos

Deployment Contínuo Porquê? Permitir com um simples pressionar do botão produzir uma nova versão do produto e instala-la no ambiente de produção, disponibilizando-a rapidamente ao cliente. Benefícios Reduzir o tempo entre o levantamento de um requisito e a sua disponibilização para o cliente, permitindo: Ter mais cedo o retorno do que foi investido (Return On Investment) Feedback dos end users Dificuldades Montar infraestrutura baseada em automatismos e instrumentação Capacidade de efectuar um rollback rapidamente caso surja um problema com a nova release

Roadmap Onde nos encontramos Integração Contínua Entrega Contínua Deployment Contínuo

Conclusão Investir no processo de deployment contínuo Continuar a aposta em ferramentas OSS Alargar utilização a todos os projetos dentro processo de gestão de entregas mas também a outros processos da cadeia de valor Contribuir para a consolidação, evolução e melhoria contínua das ferramentas de desenvolvimento OSS

Av. Prof. Dr. Cavaco Silva, nº 17 Edifício Ciência 1 Taguspark 2740-120 Porto Salvo Telf. 214230000 II@seg-social.pt