Como você provavelmente notou, Scotty.js não está mais ativo. Trabalhar no Scotty.js foi divertido, mas a AWS lançou o AWS Amplify nesse meio tempo, e ferramentas como o Scotty.js não são mais necessárias. Dê uma olhada no console do AWS Amplify. É uma excelente ferramenta para hospedar sites estáticos e aplicativos de página única.
Implante sites ou pastas estáticas no AWS S3 com um único comando
Scotty.js está disponível no NPM. Instale-o como uma dependência global para poder usar o comando scotty
em qualquer lugar:
npm instalar scottyjs --global
Me teletransporte, Scotty
Para implantar uma pasta estática no AWS S3, execute:
Scotty {opções}
ou
teletransporte-me {opções}
--help ou -h - Imprima esta ajuda
--version ou -v - Imprime a versão atual
--noclipboard ou -n – Não copie o URL para a área de transferência (padrão: false)
--quiet ou -q - Suprime a saída ao executar comandos (padrão: false)
--website ou -w - Define a pasta carregada como um site estático (padrão: falso)
--spa - Define a pasta carregada como um aplicativo de página única (padrão: falso)
--source ou -s - Fonte da pasta que será carregada (padrão: pasta atual)
--bucket ou -b – Nome do bucket S3 (padrão: nome da pasta atual)
--prefix ou -p – Prefixo no bucket S3 (padrão: a raiz do bucket)
--region ou -r - Região AWS onde os arquivos serão carregados, padrão: região salva se existir ou uma lista para escolher uma se ainda não estiver salva
--force ou -f - Atualize o bucket sem perguntar (padrão: false, a região forçada pode ser substituída por -r )
--update ou -u - Atualiza o bucket existente (padrão: false)
--delete ou -d - Exclui bucket existente (padrão: false)
--nocdn ou -c – Desativa o tratamento do Cloudfront (padrão: false)
--urlonly ou -o - Gera apenas o URL resultante, CDN ou S3 de acordo com as opções (padrão: false)
--expire ou -e - exclui objetos no bucket com mais de n dias (padrão: sem expiração)
--profile ou -a - Perfil AWS a ser usado (padrão: 'default')
--empty ou -y - Esvazie o bucket (exclua todos os objetos antes de fazer upload dos arquivos) (padrão: false)
Tutorial completo: http://medium.com/@slobodan/single-command-deployment-for-single-page-apps-29941d62ef97
Para implantar aplicativos CRA, basta executar npm run build
na pasta raiz do projeto para criar a versão de compilação.
Em seguida, implante a versão de compilação usando o seguinte comando:
scotty --spa --source ./build
Ou, se você quiser especificar a execução do nome do bucket:
scotty --spa --source ./build --bucket algum-nome-do-bucket
Com o sinalizador --spa
, Scotty definirá os redirecionamentos necessários para seu aplicativo de página única, para que seu aplicativo possa usar pushState pronto para uso.
Para implantar vários aplicativos em um único bucket, você pode usar a opção --prefix
. Isso é útil quando seu sistema de CI é implantado em um sistema temporário com cada ramificação como um nome de caminho. Por exemplo. o branch master
deve ir para a raiz do bucket ( /
), para que você não defina o prefixo. O branch feature/fancy-stuff
deve ir para o caminho do bucket feature/fancy-stuff
então basta adicionar isso como o prefixo. Aqui está um exemplo de linha de comando:
# implemente sua compilação master no bucketrootscotty --source ./build --bucket some-bucket-name# implemente sua compilação branch no nome da ramificação no bucketscotty --source_ ./build --bucket some-bucket-name - -prefixe seu/ramo
Usamos Jasmine para testes unitários e de integração. A menos que haja um motivo muito convincente para usar algo diferente, continue usando o Jasmine para testes. Os testes existentes estão na pasta spec. Aqui estão alguns atalhos de comando úteis:
Execute todos os testes:
teste npm
Execute apenas alguns testes:
teste npm -- filtro=prefixo
Obtenha relatórios detalhados de nomes de testes hierárquicos:
teste npm - completo
MIT - veja LICENÇA