Seis passos para colocar um projeto local em um servidor próprio

Preview:

DESCRIPTION

Muitas pessoas desenvolvem o projeto sem controle de versão, ou as vezes usam mas na hora de colocar as modificações no servidor, utilizam algum programa FTP, o que acaba não usufruindo do controle de versão. Será que isso funciona se tiver uma equipe? NÂO, está é a resposta. Com isto, criei seis passos necessários para se colocar um projeto que está em controle de versão, sincronizando as modificações locais com o servidor sem uso de alguma ferramentas FTP. Tutorial GIT para as pessoas que utilizam alguma IDE ou para quem gosta de utilizar o Terminal. Link para tutorial GIT: http://pt.slideshare.net/MarcosMass/comeando-a-utilizar-o-git

Citation preview

Seis passos para se colocar um projeto em um servidor próprio.

ObjetivoConfigurar um ambiente para que seja

possível upar um projeto local, e inexistente no servidor, para o servidor , sem uso de ferramenta FTP.

Além de ter o controle de versão do projeto.

Mas primeiro...

Não é preciso que você seja um expert em nenhum do assuntos abaixo, mas tenha conhecimento básico:

➔ Controle de Versionamento GIT

http://pt.wikipedia.org/wiki/Git / http://gitimmersion.com/

➔ Conexão SSH

http://pt.wikipedia.org/wiki/SSH

➔ Familiaridade com os terminais, ou prompt da vida(Depende do S.O. do seu servidor).

Comandos básicos: entrar, sair, criar e deletar pastas.

Introdução(1)Muito se houve falar do controle de versão utilizando repositórios tais como: BitBucket Github Gitorius

Entre outros...

Introdução(2)

Mas e se eu quiser colocar o meu projeto e um servidor próprio?

Como faço para colocá-lo em controle de versão?

Introdução(3)É justamente isto que proponho lhe ajudar a fazer...

Colocar o seu projeto que está em um servidor próprio em controle de versão utilizando o GIT via SSH.

Utilizei o S.O. Ubuntu(Linux), mas é possível no Windows(usando: putty ssh, git) e no MAC.

Suponho que você já tenha instalado o git, ssh na sua máquina.

Passo nº 1 – Buscando informação...

A primeira coisa que se deve saber é saber se o seu servidor permite acesso via SSH e se ele é Linux.

Como? Entrando em contato com eles.

Aproveite e peça o link(ou ip), usuário e senha de acesso, caso seja possível. Normalmente o usuário e a senha é o mesmo da conta FTP.

Passo nº 2 – Preparando o ambiente

Se você já colocou o seu projeto local em controle de versão, basta fazer o primeiro commit.

Caso contrário coloque-o. Abaixo tem um link de ajuda:

http://tableless.com.br/iniciando-no-git-parte-1/#.Ujgy97zoFUE

Não esqueça de fazer o commit.

Passo nº 3 – Acessando o servidor

Usuário Linux ou MAC:

execute o comando, no terminal:

ssh usuario@endereco

vai pedir a senha você coloca e pronto está no servidor

Usuário windows:

Configurar o putty com usuario, endereco e porta.

O usuario e endereco são os mencionados no slide anterior;

Nos dois casos estarão em um terminal.

Passo nº 4 – Versionando projeto no Servidor

Supondo que você tenha a pasta do projeto já criada no servidor, exemplo teste.com.br, e que a pasta está dentro da pasta public_html.

Na verdade, não importa onde o projeto esteja, mas a nível de entendimento vamos supor o que foi descrito acima.

Passo nº 4 – Versionando projeto no Servidor(2)

Vá até a pasta do projeto, teste.com.br. Para isto você só irá precisar usar os comandos ls e cd.[1].

Digite pwd e aperte Enter para saber o caminho do diretório que você está.

Algo parecido com: /home/usuario/public_html/teste.com.br

Digite mkdir .git/ && cd .git/ e aperte enter e em seguida digite git init –bare.

O 1º comando cria e entra na pasta .git.

O 2º cria um repositório git vázio.

Passo nº 5 – Criando um gancho com o Servidor

Vamos criar um 'gancho' que será para dar checkout do seu código para o repositório web e vamos definir o diretório git e o diretório de trabalho (pasta onde irá ficar o projeto).

Dentro da pasta .git digite o comando:

vi hooks/post-update

OU digite

vi /home/usuario/public_html/teste.com.br/.git/hooks/post-update

Passo nº 5 – Criando um gancho com o Servidor(2)

Irá abrir o editor de texto vi, aperte I(i) para ativar o modo de inserção e digite:

GIT_DIR=/home/usuario/public_html/teste.com.br/.git

GIT_WORK_DIR=/home/usuario/public_html/teste.com.br/ git $some_git_command

GIT_WORK_TREE=/home/usuario/public_html/teste.com.br/ git checkout -f

Tome o cuidado para está digitando o caminho certo.

Aperte ctrl + esc para sair do modo de inserção.

Digite :wq e aperte enter, para salvar e sair.

Passo nº 5 – Criando um gancho com o Servidor(3)

Voltando ao terminal, digite: chmod +x /home/usuario/public_html/teste.com.br/.git/hooks/post-update

Para dar permissão de execução ao arquivo post-update.

Passo nº 6 – Upando o projeto local p/ o servidor

Abra o terminal – o programa do Windows também tem.

Digite o comando abaixo (tudo na mesma linha):

git remote add origin

ssh://usuario@endereco/home/usuario/public_html/teste.com.br/.git/

Adicionando a configuração local para um diretório remoto.

Passo nº 6 – Upando o projeto local p/ o servidor(2)

Expandindo o conteúdo do repositório local para um remoto:

git push origin +master:refs/heads/master

informe a senha e depois digite:

git push origin master

Se a configuração feita no slide 13 estiver correta o seu projeto já estará lá no seu servidor.

Toda vez que fazer um commit e quiser upar para o servidor tem que dar o comando: git push origin master

ConclusãoConfigurar o servidor não é trivial, mas também não é algo de gênio, até porque eu conseguir(xD).

Quem usa alguma IDE, como o Eclipse ou Netbeans, tem a vantagem de fazer os commit's e push's pela própria IDE, sem precisar usar muito o terminal, além delas ajudarem na visualização de conflitos. Mas nada que não seja possível pelo terminal eu até aprovo o uso do terminal para se ter uma noção maior do GIT.

Em breve farei outro tutorial com os passos para colocar um projeto existente no servidor em controle de versão.

Obrigado!

Sobre do autorMarcos Silva

https://www.facebook.com/massilva1

http://www.linkedin.com/in/massilva

@marcossilva

marcos@develops6.com

http://develops6.com/

Imagem em: http://findicons.com/search/inside

Link's importantes[1] http://wiki.ubuntu-br.org/ComandosBasicos

Recommended