Conforme explicitado no capítulo de introdução, um projeto de ativo digital na plataforma pode ser composto por diversos softwares desacoplados. Assim, cada um destes softwares-componentes será uma aplicação independente no projeto, com seu código-fonte armazenado e versionado em um repositório específico no GitLab e tendo um ciclo de vida próprio.

Para criar uma nova aplicação, um arquiteto da solução do projeto deverá clicar no botão “Nova App”, no rodapé do card do projeto. Isso iniciará um wizard que guiará o usuário por alguns passos. Inicialmente é apresentado ao usuário um disclaimer, o qual ele deverá estar ciente.

Disclaimer de criação de app

No segundo passo, o usuário deverá selecionar o boilerplate que será utilizado para gerar o código-fonte inicial da aplicação. Conforme foi explicado no capítulo de introdução, o boilerplate é necessário para estruturar a aplicação no padrão requerido pelo Embrapa I/O. Na maioria das vezes o boilerplate será apenas uma espécie de Hello Word, ou seja, o menor conjunto de código-fonte possível para instanciar uma aplicação em determinada linguagem de programação ou framework de desenvolvimento, porém estruturado com os requisitos para torná-lo aderente aos pipelines de DevOps do Embrapa I/O.

É possível criar uma aplicação sem utilizar um boilerplate como base. Para isso deverá ser utilizada a opção “repositório pré-existente” no campo de seleção. Neste caso, o repositório da aplicação deverá ser criado de antemão e possuir a mesma estrutura requerida por um boilerplate, conforme explicado no tutorial de criação de boilerplates.

Ao selecionar o boilerplate serão apresentadas informações sobre ele, tal como links de referência e a sua equipe mantenedora. Qualquer usuário da plataforma pode propor um novo boilerplate, colaborando com a comunidade Embrapa I/O.

Neste passo o usuário deverá também selecionar um nome unix para a aplicação (somente letras minúsculas, números e hífen). A combinação com o nome unix do projeto (namespace) deverá ser única em toda a plataforma. Por exemplo, na imagem abaixo está sendo definido como pwa o nome unix da aplicação, sendo que o nome final com o namespace será pasto-certo/pwa. Caso esteja criando uma aplicação sem o boilerplate, o nome unix deverá ser o mesmo do repositório criado previamente.

Selecionando o boilerplate

Ao clicar no botão “Criar App” a plataforma irá colocar a requisição em uma fila para o autômato Genesis, de provisionamento de entidades. O autômato fará um fork do repositório do boilerplate para o projeto, customizando alguns detalhes neste processo.

Aguardando a criação da app

No card do projeto na dashboard fica disponível a lista de todas as aplicações naquele projeto. Para cada aplicação nesta lista, é possível configurar a build, ou seja, os estágios de maturidade que podem ser disponibilizados publicamente: alpha (testes internos), beta (testes externos) e release (produção).

App com estágios de maturidade

Por fim, o repositório da aplicação estará disponível no grupo do projeto no GitLab. A equipe de desenvolvedores poderá agora iniciar o planejamento do desenvolvimento e realizar o clone do código-fonte para o ambiente local de desenvolvimento, codificar a aplicação conforme os requisitos, seguindo boas práticas de desenvolvimento, e fazer o commit e push de volta ao repositório. Adicionalmente, a equipe pode contar com uma ferramenta para monitoramento de erros (error tracking).