Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

codercss

Permissões para a pasta git

Recommended Posts

Eu faço push e pull manualmente.

Geralmente faço um script shell que faz ssh no servidor remoto e executa o pull. Assim não preciso logar e fazer pull.

Eu já tinha lido sobre esses hooks há um tempo. Mas ainda acho mais seguro o meu script, pois vejo qual foi a saída do pull. Caso tenha havido algum conflito, posso ver o problema e corrigir na hora :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta dos scripts deu-me a ideia de criar este script:

#!/bin/bash
ssh user@ip sudo ls -la /path/df/driveinfolder/git

Criei um alias no pc em:

nano ~/.bashrc
alias seegit='/path/to/file/./see_repository.sh'
. ~/.bashrc -> atenção ao espaço entre o ~ e o . (primeiro)
seegit -> and execute the awesome script :)

Também podes adicionar o comando logo no .bashrc e a magia é a mesma :D

Outra ideia que tive, mas depois acabei por colocar de lado foi criar uma página, já não me recordo se era em php, que ao ser acedida ela executava um comando em php que por sua vez executava uma função no servidor. Conclusão, conseguias colocar um comando para desligar o servidor acedendo simplesmente a uma página.

Vou ver os meus apontamentos e ver se encontro isso!

Pode partilhar o seu script? Fiquei curioso em saber como fez. Mas seria algo como isto?

#!/bin/bash
ssh user@192.168.1.1 git pull /path/to/www/apache

Não sei é fazer o login directamente no comando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

A funcionalidade de aceder a um script via url que falava é isto:

http://www.cyberciti.biz/tips/executing-linuxunix-commands-from-web-page-part-i.html

Estou a receber um 404 quando tento aceder ip/cgi-bin/first.cgi. Mas acho que é por não ter o cgi configurado na apache. Pesquisei e estou a ler este artigo http://www.cyberciti.biz/tips/installing-and-configuring-lighttpd-webserver-howto.html, mas estou um pouco perdido.

Já experimentou isto? Imagina o que seria aceder a uma página e conseguir fazer o pull directamente no serivdor :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não precisa de CGI. Use o próprio PHP. Você pode executar comandos usando as Funções de Execução, como exec() ou sustem()

Apenas tome cuidado ao fazer isso. Lembre-se de que a página estará acessível a qualquer pessoa. Nunca coloque comandos inseguros ;)

Mesmo assim, ainda prefiro a simples linha que faz SSH e roda o comando. É mais rápido e só quem tem login/chave poderá executá-lo

[edit]

Escrevi sobre PHP, pensando que eu estava no fórum de PHP.

Mas é possível usar PHP ou qualquer outra linguagem server-side

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou ler os seus bons artigos :) Obrigado

A parte da segurança posso contornar com um menu de login, e na própria página posso pedir uma credencial, que pode passar para o script e caso não seja validada pelo servidor ele não executa o resto do script.

Mas acho que este processo apenas terá aplicação caso utiliza o cgi, certo?

Bem, ao invés de estar, talvez, a dizer asneiras, vou ler os seus artigos :)

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode usar CGI ou qualquer outra linguagem server-side que execute comandos no shell (PHP, Python, Ruby, Java...)

Mas colocar um sistema de login só pra isso é perda de tempo. Ainda acho bem mais simples um simples SSH que roda o git pull

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.