Dica
Esta lição faz parte de um curso que ensina como construir um aplicativo New Relic do zero. Se ainda não o fez, confira a Visão Geral.
Cada lição do curso se baseia na anterior, portanto, certifique-se de ter concluído a última lição, Descreva seu aplicativo para o catálogo, antes de iniciar esta.
Na última lição, você criou informações de catálogo para o aplicativo de teste A/B que você construiu ao longo deste curso. Agora é hora de publicar seu aplicativo no catálogo de observabilidade instantânea e enviar os detalhes do catálogo.
Versões e tags
A publicação de um aplicativo requer duas informações principais:
- versão
- tag
A versão de um aplicativo identifica o código que ele contém e é armazenada no arquivo package.json
de nível raiz do Nerdpack. Cada vez que você modificar o código em seu Nerdpack e estiver pronto para lançá-lo, você atualizará a versão em package.json
. Por exemplo, se você corrigir alguns bugs na primeira versão principal do código do seu aplicativo, poderá publicar as alterações na versão 1.0.1
.
A tag de uma versão do aplicativo descreve seu estado. Por exemplo, a versão 0.0.1
de um aplicativo em andamento pode ser publicada com uma tag DEV
para indicar que está em desenvolvimento.
Dica
Existem algumas regras que regem como você pode usar tags e você pode ler sobre elas em nossa documentação de tags.
Publique seu primeiro aplicativo
Mude para o diretório publish/ab-test
do repositório de cursos:
$cd nru-programmability-course/publish/ab-test
Este diretório contém o código que esperamos que seu aplicativo tenha neste ponto do curso. Ao navegar para o diretório correto no início de cada lição, você deixa seu código personalizado para trás, protegendo-se assim de carregar código incorreto de uma lição para outra.
Navegue até a raiz do seu Nerdpack em nru-programmability-course/publish/ab-test
.
Gere seu próprio UUID de aplicativo:
$nr1 nerdpack:uuid -gf
O UUID é usado para identificar seu aplicativo no registro de aplicativos New Relic. Como você está usando o código que desenvolvemos para este curso, já existe um aplicativo com o UUID existente no registro. Ao gerar o seu próprio, agora você poderá publicar este aplicativo.
Detalhe técnico
O UUID também vincula seu aplicativo à sua conta e, portanto, permite que o aplicativo faça solicitações do Nerdgraph em nome da conta que o instalou.
Em package.json
, defina version
como 1.0.0
:
{ "private": true, "name": "ab-test", "version": "1.0.0", "scripts": { "start": "nr1 nerdpack:serve", "test": "exit 0" }, "nr1": { "uuid": "2d923ba6-d231-4dd3-830f-b1923577a422" }, "dependencies": { "prop-types": "^15.6.2", "react": "^16.6.3", "react-dom": "^16.6.3" }, "browserslist": ["last 2 versions", "not ie < 11", "not dead"]}
A New Relic usa controle de versão semântico e, de acordo com esta convenção, 1.0.0
sinaliza o primeiro lançamento principal. Agora você está pronto para publicar!
Substitua todas as instâncias de <YOUR NEW RELIC ACCOUNT ID>
e <YOUR NEW RELIC ENTITY GUID>
em seu projeto pelo New Relic ID real da conta e pelo GUID da entidade, respectivamente.
Publique seu aplicativo New Relic:
$nr1 nerdpack:publish -t DEV
É isso! Você publicou seu aplicativo no registro da New Relic. O parâmetro -t
especifica uma tag para sua versão publicada. Entre outros logs, você deverá ver a seguinte confirmação em seu console:
Publishing Nerdpack AbTest (9da77738-9cf6-43c7-9ba0-e3a8c6ac7380) ✔ Nerdpack published successfully! ✔ Tagged 9da77738-9cf6-43c7-9ba0-e3a8c6ac7380 version 1.0.0 as DEV.
Por enquanto, você marcou a versão 1.0.0 como DEV
porque ainda é um trabalho em andamento.
Veja as informações de registro do seu aplicativo:
$nr1 nerdpack:infoId: 9da77738-9cf6-43c7-9ba0-e3a8c6ac7380Region: usAccount ID: 123456Local version: 1.0.0Subscription Model: OWNER_AND_ALLOWEDVersion Count: 4Version Date Tags------- ------------- ------1.0.0 5 minutes ago DEV
Os resultados deste comando detalham as informações armazenadas no registro do New Relic para seu aplicativo, incluindo seu UUID, versão e ID da conta.
Visualize seu aplicativo em observabilidade instantânea
Agora que seu aplicativo está publicado e marcado, você pode visualizá-lo no catálogo de observabilidade Instant.
Vá para New Relic. Observe que você não está usando o parâmetro de string de consulta ?nerdpacks=local
. Você não precisa mais dele porque não está veiculando seu aplicativo localmente.
Na página inicial, navegue até Integrations & Agents na barra de navegação superior.
Selecione Apps & Visualizations.
A partir daqui você pode ver seu aplicativo entre os recursos.
Observe que isso é diferente de quando você veiculou seu aplicativo localmente. Aplicativos locais e aplicativos publicados que você assinou são exibidos em Your apps na sobreposição de Aplicativos.
Clique no seu aplicativo para ver mais detalhes.
Observe a data de lançamento e a versão do aplicativo. Esta página deve mostrar as informações que você criou na última lição. Ainda não, porque você não enviou essas informações ao catálogo e a publicação do seu aplicativo não faz isso por você.
Enviar informações do catálogo
Mesmo que você tenha publicado seu aplicativo, há algumas coisas que o catálogo não conhece. Estas são as descrições, captura de tela e metadados que você criou na última lição. nr1 catalog
é usado para enviar e visualizar essas informações.
Envie as informações do seu catálogo:
$nr1 catalog:submitUploading screenshots from nru-programmability-course/publish/ab-test... ✔ Screenshots uploaded from: nru-programmability-course/publish/ab-test ✔ Updated metadata for AbTest 1.0.0
Se tudo der certo, você deverá ver uma mensagem de sucesso avisando que a captura de tela e os metadados foram atualizados.
No entanto, você pode receber um erro ao enviar essas informações ao catálogo:
Uploading screenshots... › Error: 1 error while updating AbTest 1.0.0 › › Invalid Version: Nerdpack version 1.0.0 not found. Have you run `nr1 nerdpack:publish` yet? › Code: UNKNOWN
Se fizer isso, tente novamente em um ou dois minutos. Pode levar alguns segundos para que o catálogo seja atualizado com a nova versão do seu aplicativo.
Se isso não funcionar, publique seu aplicativo com nr1 nerdpack:publish
.
Veja as informações do seu catálogo:
$nr1 catalog:infoAbTest (Nerdpack): categoryTerms.0: browser agent description: Nerdpack ab-test details: Display test data for our newsletter subscription A/B test displayName: AbTest keywords.0: a/b test icon.url: https://nr3.nr-ext.net/artifact-index-production/a685fec2-29fb-40b0-9f65-4178... previews.0.url: https://application-catalog-production.s3.us-east-2.amazonaws.com/nerdpacks/a... releaseDate: 2021-03-12T15:46:09.600138Z repository: https://github.com/newrelic-experimental/nru-programmability-course tagline: Win @ newsletter subscriptions version: 1.0.0 whatsNew.changes: Initial release! Includes: - A variety of charts for understanding the test r... whatsNew.version: 1.0.0AbTestLauncher (Launcher): description: Describe me displayName: AbTestLauncher icon.url: https://nr3.nr-ext.net/artifact-index-production/a685fec2-29fb-40b0-9f65-4178...AbTestNerdlet (Nerdlet): displayName: AbTestNerdlet supportedEntityTypes.mode: NONE
Todas as informações de catalog
são mostradas aqui.
Veja seu aplicativo.
Clique no aplicativo para ver mais.
Você vê a captura de tela adicionada ao seu launcher ou Nerdlet em What's inside.
Aqui você vê detalhes do aplicativo, uma guia de documentação, notas de lançamento e captura de tela.
Atualize sua tag de versão
Seu aplicativo fica ótimo no catálogo de observabilidade Instant, completo com metadados, imagens e documentação. Antes, você marcava o aplicativo como DEV
porque todas as informações não estavam prontas para consumo público. Agora é. É hora de atualizar sua tag de versão.
Atualize a versão do seu aplicativo 1.0.0
de DEV
para STABLE
:
$nr1 nerdpack:tag -t STABLE ✔ Tagged 9da77738-9cf6-43c7-9ba0-e3a8c6ac7380 version 1.0.0 as STABLE.
Sem especificar uma versão, nr1
usa a versão especificada em package.json
. Você pode especificar uma versão com o comando -V
. Saiba mais sobre nerdpack:tag
com o comando nr1 nerdpack:tag --help
.
Veja as informações do seu aplicativo:
$nr1 nerdpack:infoId: 9da77738-9cf6-43c7-9ba0-e3a8c6ac7380Region: usAccount ID: 123456Local version: 1.0.0Subscription Model: OWNER_AND_ALLOWEDVersion Count: 1Version Date Tags------- ------------- ------1.0.0 30 minutes ago STABLE
O aplicativo agora está marcado com STABLE
, indicando que está pronto para uso público.
Detalhe técnico
Mesmo que o aplicativo esteja pronto para uso público, ele ainda estará visível apenas para o usuário da sua conta. Outras contas não podem ver aplicativos criados por outras contas privadas, a menos que esses aplicativos sejam adicionados ao catálogo público de observabilidade instantânea.
Agora que seu aplicativo foi publicado e seus metadados enviados, você pode assinar sua conta no aplicativo do Instant observabilidade. Na próxima lição, você aprenderá como assinar e cancelar a assinatura do seu novo aplicativo.
Curso
Esta lição faz parte de um curso que ensina como construir um aplicativo New Relic do zero. Continue para a próxima lição: Assine seu aplicativo New Relic.