Php com Svn

  • 2,801 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Não estou conseguindo inserir a biblioteca php_svn.dll para usar. Sempre exibe uma msg que a função não existe. Existe alguma forma específica para usar as funções php do svn, como faz?
    Meu email é viniciuslins@gmail.com
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
2,801
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
38
Comments
1
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Php com Subversion Danilo Resende - danilo.isr@gmail.com Jorge Fernandes - jorgefariafernandes@gmail.com Nícolas Lazarte - nicolas@nucleoassistir.com Artigo sob a Licença Creative Commons.
  • 2. Índice ● Objetivo da palestra ● Sistemas Controle de Versão e Subversion ● Biblioteca php-svn ● Instalação ● Constantes ● Funções ● Casos de utilização da biblioteca ● Exemplo de aplicação 2
  • 3. Objetivo da palestra Apresentação básica da biblioteca, da PECL¹, que permite a utilização da aplicação Subversion, através da linguagem PHP. Pode ser utilizada para o desenvolvimento de um portal onde os usuários de maneira mais fácil administrem o sistema svn². ¹ A PECL (PHP Extension Community Library) contem extensões em C para compilação no PHP ² Subversion 3
  • 4. Índice ● Objetivo da palestra ● Sistemas Controle de Versão e Subversion ● Biblioteca php-svn ● Instalação ● Constantes ● Funções ● Casos de utilização da biblioteca ● Exemplo de aplicação 4
  • 5. Sistemas de Controle de Versão Sistemas de controle de versão são aplicações com finalidade de gerenciar diferentes versões no desenvolvimento de algum documento ou aplicação qualquer. 5
  • 6. Subversion ● Projeto inicializado no ano 2000 pela CallabNet ● É um sistema de controle de versão centralizado ● Existe um repositório central onde os usuários adquirem uma cópia de trabalho. ● Fácil entendimento dos conceitos básicos ● Checkout, update, commit, status, diff, resolve, etc. 6
  • 7. Subversion 7
  • 8. Índice ● Objetivo da palestra ● Sistemas Controle de Versão e Subversion ● Biblioteca php-svn ● Instalação ● Constantes ● Funções ● Casos de utilização da biblioteca ● Exemplo de aplicação 8
  • 9. Biblioteca svn para PHP ● Instalação ● Debian e derivados – Php5-svn – aptitude install php5-svn – No repositório do Ubuntu 9.10, o pacote está bugado, para instalar-lo basta fazer download do pacote no repositório do Debian. ● Outra distro ou outro SO – http://pecl.php.net/package/svn 9
  • 10. Índice ● Objetivo da palestra ● Sistemas Controle de Versão e Subversion ● Biblioteca php-svn ● Instalação ● Constantes ● Funções ● Casos de utilização da biblioteca ● Exemplo de aplicação 10
  • 11. Constantes Constantes de Autenticação ● SVN_AUTH_PARAM_DEFAULT_USERNAME → String ● Constante com o nome de usuário que será utilizado na autenticação do repositório subversion. ● SVN_AUTH_PARAM_DEFAULT_PASSWORD → String ● Constante com a senha referente ao usuário da constante anterior. ● PHP_SVN_AUTH_PARAM_IGNORE_SSL_VERIFY_ERRORS → Boolean ● Constante booleana que determina se será ignorado ou não erros de certificações da conexão SSL com o repositório Serão apresentadas somente as constantes de autenticação por serem necessárias para desenvolver algo simples, outras constantes podem ser vistas em: http://br.php.net/manual/en/svn.constants.php 11
  • 12. Índice ● Objetivo da palestra ● Sistemas Controle de Versão e Subversion ● Biblioteca php-svn ● Instalação ● Constantes ● Funções ● Casos de utilização da biblioteca ● Exemplo de aplicação 12
  • 13. Funções Manipulação das constantes de autenticação ● void svn_auth_set_parameter(string $key, string $value) ● string svn_auth_get_parameter(string $key) 13
  • 14. Funções Trabalhando com arquivos e diretórios do repositório ● string svn_cat(string $repos_url) ● Função que retorna o conteúdo de um arquivo que está no repositório. 14
  • 15. Funções Trabalhando com arquivos e diretórios do repositório ● bool svn_delete(string $path) ● Função que remove um arquivo do repositório, é preciso fazer comit da modificação. 15
  • 16. Funções Trabalhando com arquivos e diretórios do repositório ● bool svn_mkdir(string $path) ● Função que cria um diretório no repositório. ● bool svn_add(string $path) ● Adiciona o arquivo ao repositório. 16
  • 17. Funções Trabalhando com arquivos e diretórios ● array svn_ls(string $repos_url) ● Função que lista o conteúdo do repositório, como o ls do Linux. 17
  • 18. Funções Trabalhando com o repositório ● bool svn_checkout(string $repos, string $targetpath) ● Faz uma cópia do repositório para a maquina local. ● int svn_update(string $path, int $revno) ● Atualiza a cópia do seu repositório para a revisão especificada ou para a ultima. 18
  • 19. Funções Trabalhando com o repositório ● array svn_commit(string $log, array $targets) ● Manda as modificações da sua cópia para o repositório. 19
  • 20. Funções Funções para trabalhar com informações do repositório ● array svn_status(string $path) ● Função que retorna os arquivos que foram modificados na cópia OBS.: O retorno é composto por um array de cada arquivo, e cada item do array é outro array com muitas prioridades, é recomendado ver os seguintes links: – http://br.php.net/manual/en/function.svn-status.php – http://br.php.net/manual/en/svn.constants.php#svn.constants.status 20
  • 21. Funções Funções para trabalhar com informações do repositório ● array svn_log(string $repos_url) ● Função que retorna as modificações feitas em cada revisão. 21
  • 22. Índice ● Objetivo da palestra ● Sistemas Controle de Versão e Subversion ● Biblioteca php-svn ● Instalação ● Constantes ● Funções ● Casos de utilização da biblioteca ● Exemplo de aplicação 22
  • 23. Casos de utilização da biblioteca A biblioteca permite ao usuário criar sistemas de gerencia de projetos, sistema de deploy, sistemas amigáveis para usuários leigos em “terminal linux” e qualquer outro sistema em que seja necessário a comunicação entre o subversion e o usuário. 23
  • 24. Casos de utilização da biblioteca Caso da Universidade Federal de Goiás Problema: O Cercomp, orgão que cuida e administra o servidor web estava recebendo muitos pedidos de instituições da UFG para que outros sistemas tenham espaço no servidor. Como os sistemas eram atualizados, a atualização era feita por ftp ou outros. Solução: Foi desenvolvido um sistema de Deploy, onde os mantenedores do sistema através do Subversion, mandam a atualização do sistema para o servidor e via sistema de Deploy, atualizavam diretamente no servidor web, podendo voltar em versões antigas caso ocorresse conflito. 24
  • 25. Índice ● Objetivo da palestra ● Sistemas Controle de Versão e Subversion ● Biblioteca php-svn ● Instalação ● Constantes ● Funções ● Casos de utilização da biblioteca ● Exemplo de aplicação 25
  • 26. Exemplo de aplicação ● Phpsvn-Manager ● Sistema de Deploy desenvolvido pelo Cercomp – UFG ● https://softifes.andifes.org.br/projects/phpsvn-manager – Sistema desenvolvido com finalidade de centralizar, gerenciar e organizar os projetos dentro da universidade. – Software Livre. 26
  • 27. Exemplo de aplicação ● Phpsvn-Manager ● Sistema de Deploy desenvolvido pelo Cercomp – UFG ● https://softifes.andifes.org.br/projects/phpsvn-manager 27
  • 28. Referências ● Subversion - Wikipedia ● http://pt.wikipedia.org/wiki/Subversion ● PHP.net documentação biblioteca Subversion ● http://br.php.net/manual/en/book.svn.php 28
  • 29. Dúvidas ?? 29