Giter Site home page Giter Site logo

deploy-sites-pessoais's Introduction


Sobre

Esse repositório contém os códigos e scripts utilizados para fazer deploy dos sites pessoais do curso de Ciência da Computação da Universidade Federal da Fronteira Sul. A gerência de quais sites existem e suas propriedades (url, etc) são manuseadas no portal de intranet do curso, cujo código está no repositório ccuffs/intranet.

IMPORTANTE: se você quer apenas utilizar os sites do curso, ex.: ter um site pessoal, veja a documentação em cc.uffs.edu.br/sites.

Utilização

1. Pré-requisitos

Para rodar os scripts desse repositório, você precisa ter o git, php e o composer disponível na linha de comando.

2. Preparando tudo

Clone o repositório

git clone https://github.com/ccuffs/deploy-sites-pessoais & cd deploy-sites-pessoais

Instale as dependências

composer install

Se estiver em um ambiente Linux, certifique-se de dar permissão de execução para os arquivos .php na raiz do projeto:

chmod +x *.php

3. Rodando o script

Todas as opções do script podem ser vistas com a flag --help, basta rodar:

php deploy-sitescc.php --help

Se você estiver apenas testando alguma funcionalidade do script, você pode rodá-lo sem muitos problemas. Execute:

php deploy-sitescc.php

Nesse caso, o script rodará utilizando o arquivo input-list-exemplo.json como fonte de conteúdo. Para rodar o script em um ambiente de produção, você utilizará algo como o seguinte:

php deploy-sitescc.php --input-list="https://cc.uffs.edu.br/intranet/api/sites/list.json" --output-dir="/var/www/sites" --control-dir="/var/www/sites/api/status"

Utilização em produção

A utilização desse repositório em produção está intrincicamente ligada ao portal de intranet do curso. Na máquina que rodará esse script (e hospedará os sites), você precisa do seguinte:

  • Servidor web para servir as páginas.
  • Pasta web acessível através da URL /api/status, por exemplo /var/www/sites/api/status. O caminho para essa pasta deve ser utilizado na flag --control-dir do script deploy-sitescc.

O recomendado é rodar os script de atualização de sites no cron, por exemplo, a cada 15 minutos. Para isso, rode:

crontab -e

Depois adicione a seguinte linha:

*/15 * * * * /usr/bin/php /home/fernando/www/deploy-sites-pessoais/deploy-sitescc.php --input-list="https://cc.uffs.edu.br/intranet/api/sites/list.json" --output-dir="/home/fernando/www/sites.cc.uffs.edu.br/public" --control-dir="/home/fernando/www/sites.cc.uffs.edu.br/public/api/status" >> /home/fernando/www/deploy-sites-pessoais/deploy-sitescc.log

Para reduzir a carga de processamento ou memória, pode-se usar --batch-internval, --site-interval e --batch-size ao rodar deploy-sitescc. Os valores default para essas flags são bem generosos.

Contribua

Sua ajuda é muito bem-vinda, independente da forma! Confira o arquivo CONTRIBUTING.md para conhecer todas as formas de contribuir com o projeto. Por exemplo, sugerir uma nova funcionalidade, reportar um problema/bug, enviar um pull request, ou simplemente utilizar o projeto e comentar sua experiência.

Veja o arquivo ROADMAP.md para ter uma ideia de como o projeto deve evoluir.

Licença

Esse projeto é licenciado nos termos da licença open-source Apache 2.0 e está disponível de graça.

Changelog

Veja todas as alterações desse projeto no arquivo CHANGELOG.md.

Projetos semelhates

Abaixo está uma lista de links interessantes e projetos similares:

deploy-sites-pessoais's People

Contributors

dovyski avatar vieir4ndo avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.