Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
Estou criando esse tópico aqui em Programação + PHP pois não sei em que se encaixa essa dúvida. Eu estava lendo uns artigos na internet, quando vi a seguinte frase: "Se você desce os arquivos para seu PC, edita e depois sobe com FTP, você é júnior", ou coisa assim. Eu sou júnior mesmo; ou quase. Eu faço isso que o autor citou ou edito direto no Gerenciador de arquivos do CPanel mesmo (rsrs..).
Depois de descobrir isso, fui atrás de mais informação sobre o controle de versão, e descobri várias coisas, criar pastas, dar nome ao autor do projeto, etc. Porém tudo isso localmente. Não sei como faço para as alterações chegarem aos meus sites, no servidor. Que comandos ou funções fazem isso? De quê forma os arquivos vão parar lá no meu site, online?
Obrigado!!!
Hooks ... você pode usar pra fazer deploy em vários lugares.
No caso do FTP, é por SSH ...
Dá uma olhada :seta: https://coderwall.com/p/xczkaq
Nunca usei isso ... ultimamente faço via ant-task.
no caso de servidores sem GIT, o jeito é fazer o envio manualmente mesmo.. ou usar scripts que automatizem o envio:
Alguns projetos open source:
https://github.com/git-ftp/git-ftp
https://github.com/tipui/Tipui-GIT-FTP
Independente disso, vc tem que começar a aprender a criar o seu ambiente local..
não é nada legal fazer alterações diretamente no ambiente de produção..
Esse artigo é bem fácil para iniciantes: http://blog.thiagobelem.net/automatizando-a-instalacao-deploy-e-atualizacao-de-sites-com-git/
O GitHub poderia ser um local para você simular o envio de arquivos para um servidor.
Mas cara, como o hinom falou no post #4, já é hora de começar a ter um servidor, configurar ambiente, ter uma noção boa de unix, etc. e parar de ficar dependente de soluções como cPanel.
Se você procurar por deploy na internet, achará muito material interessante.
Saberiam me dizer sobre o Login automático SSH no Windows? É possível? O servidor que uso é Linux.
É possível sim. A solução varia conforme o utilitário SSH que você está utilizando. Normalmente será necessário armazenar as chaves SSH em %USERDIR%/.ssh
Desculpe Evandro, mas sou leigo no assunto. Seria possível exemplificar sua resposta? No caso, estou tentando adaptar esta soluçãopara minha máquina com Windows.
Desculpe Evandro, mas sou leigo no assunto. Seria possível exemplificar sua resposta? No caso, estou tentando adaptar esta soluçãopara minha máquina com Windows.
Como eu disse, depende do utilitário. Com PuTTY é de um jeito, com Cygwin é de outro, se for usar a versão que vem com o programa do GitHub fica em outro lugar. Varia.
Valeu pessoal! Com as dicas que vocês me passaram já consegui bastante material!
Agora, para enviar os arquivos para meu site, como devo proceder? Se, por exemplo, no GitHub eu uso, git@github.com:usuario/diretorio.git, como fica para alterar os diretórios do meu site? Fica rockbrazzuca@rockbrazzuca.com/henrique.. assim?
post #4...
>
Valeu pessoal! Com as dicas que vocês me passaram já consegui bastante material!
Agora, para enviar os arquivos para meu site, como devo proceder? Se, por exemplo, no GitHub eu uso, git@github.com:usuario/diretorio.git, como fica para alterar os diretórios do meu site? Fica rockbrazzuca@rockbrazzuca.com/henrique.. assim?
Caminhos ssh seguem a estrutura [ssh://][usuario[:senha]]@nome-ou-ip-do-host:[caminho-relativo-à-home]
Conteúdo entre aspas é opcional.
Supondo que seu servidor possua suporte a ssh, para enviar os arquivos para o servidor, como você faria com ftp, eu conheço 3 alternativas:
1. SFTP, não muda nada do FTP. Você pode até mesmo utilizar o mesmo programa ftp que está acostumado, bastando trocar a porta de 21 para 22 e o usuário que passa a ser o do ssh e não o do ftp
$ pwd
/caminho/na/maquina/local
$ ls
arquivo1 arquivo2
$ sftp usuario@servidor
[processo de autenticação]
ftp> PWD
/home/do/usuario
ftp> ls
arquivo3
ftp> PUT arquivo1
[progresso do upload]
ftp> ls
arquivo1 arquivo3
ftp> quit
2. SCP. Do próprio manual, scp significa secure copy para transferências remotas. A sintaxe é simples:[inline]scp caminho/local url-ssh[/inline] para enviar ou [inline]scp url-ssh caminho/local[/inline] para obter. Similar ao exemplo acima seria
$ pwd
/caminho/na/maquina/local
$ ls
arquivo1 arquivo2
$ scp arquivo1 usuario@servidor:3. RSYNC. Sincronização remota. Apesar do nome também pode ser um ótimo utilitário para cópias locais. Segue a mesma sintaxe do scp, apenas necessitando informar o utilitário ssh que deverá ser executado.$ pwd
/caminho/na/maquina/local
$ ls
arquivo1 arquivo2
$ rsync --rsh=ssh arquivo1 usuario@servidor:
De posse destas ferramentas você já estará apto a enviar os arquivos para o seu servidor. Você deve, obviamente, aprender formas automatizadas de fazer isso. Como já citaram acima, o processo se chama deploy e você pode procurar por formas de realizar auto-deploy's. Como está optando por GIT, uma dica boa pode ser utilizar Hooks.
Este tipo de assunto está fora do escopo deste tópico (você deve abrir um novo) e sugiro que tenha adquira alguma familiaridade tanto com git quanto com SSH antes de dar o próximo passo.
>
no caso de servidores sem GIT, o jeito é fazer o envio manualmente mesmo.. ou usar scripts que automatizem o envio:
Alguns projetos open source:
https://github.com/git-ftp/git-ftp
https://github.com/tipui/Tipui-GIT-FTP
Independente disso, vc tem que começar a aprender a criar o seu ambiente local..
não é nada legal fazer alterações diretamente no ambiente de produção..
[[#4]](http://forum.imasters.com.br/topic/510125-git-e-github-controle-de-verso/#entry2019315)hinom, no caso, que servidor já vem com o Git? Dessas hospedagens populares, alguma vem?
há alguns hostings que fornecem, mesmo os compartilhados.
geralmente fornecem ssh para que vc configure..
o ideal seria em vps ou dedicado.
Locaweb eu sei que vem.
O ideal seria vps ou dedicado [2]
vc pode por exemplo, fazer um git pull lá no servidor.