React: Modernize o processo de lançamento

Criado em 29 abr. 2016  ·  3Comentários  ·  Fonte: facebook/react

É muito trabalho fazer uma versão do React agora. É principalmente memória muscular para mim neste momento, mas deve ser fácil para qualquer um fazer isso. Historicamente, mantive algumas etapas manuais porque estraguei tudo e queria poder pausar e verificar novamente.

Algumas coisas contribuem para a dificuldade:

  • uso de react-bower repo como o primeiro alvo de push

    • que é resultado da geração / CDNização do link fb.me precisando acontecer na infra interna do FB

  • etapas manuais em vários repositórios
  • modificação de versão manual
  • ativos que precisam estar em vários lugares, copiados entre filiais

Algumas ideias:

  • devemos ser capazes de diferenciar entre versões pré e finais. Deve ser um único comando para enviar um novo alfa a qualquer momento e eles devem ser leves.
  • as versões finais precisam de um pouco mais, pois serão instaladas por padrão pelas pessoas e terão requisitos adicionais (por exemplo, logs de alterações, ativos em vários locais)
  • npm run release que então faz todas as coisas. Pode ser um processo interativo
  • comece a usar as APIs de lançamento do GitHub para armazenar ativos de compilação, eliminando etapas
  • configure o cdn.reactjs.org e apenas hospede nossas compilações lá, descartando o fb.me completamente (risco, temos que rodar isso para sempre…)

    • alternativas: trabalhe com CDNs existentes e certifique-se de que podemos ter versões implantadas no comando (a atualização automática baseada em pull pode resultar em atrasos, coisas como jsfiddle, nosso tutorial precisa de ativos disponíveis imediatamente)

  • investigue lerna, pode ser útil com os vários pacotes que temos, embora o ideal seja desembaraçar os lançamentos
Build Infrastructure

Comentários muito úteis

Parece que estamos realmente em um bom lugar agora.
(Obrigado @bvaughn)

Todos 3 comentários

alternativas: trabalhe com CDNs existentes e certifique-se de que podemos ter versões implantadas no comando (a atualização automática baseada em pull pode resultar em atrasos, coisas como jsfiddle, nosso tutorial precisa de ativos disponíveis imediatamente)

Com o Redux, estamos direcionando as pessoas para o http://npmcdn.com de @mjackson.

Obrigado pela menção, @gaearon. Eu tenho dado dicas para @zpao por um tempo agora que eu gostaria que ele desse uma chance ao npmcdn . ;)

Atendemos a mais de 100 milhões de solicitações no mês passado de mais de 16 milhões de visitantes únicos, então podemos estar prontos para lidar com o tipo de tráfego que o React lançaria em nosso caminho. Atualmente estou trabalhando para conseguir alguns patrocinadores e termos de serviço para que as pessoas possam saber o que podem esperar dele.

Quanto aos atrasos, atualmente instruímos nosso CDN (CloudFlare) a armazenar redirecionamentos em cache por 5 minutos. Assim, por exemplo, uma solicitação para https://npmcdn.com/react@15/dist/react.min.js redirecionará para a versão mais recente no máximo 5 minutos após ser enviada para o npm.

Parece que estamos realmente em um bom lugar agora.
(Obrigado @bvaughn)

Esta página foi útil?
0 / 5 - 0 avaliações