Deploy rapid dintr-un repository bitbucket pe o masina digitalocean

As avea nevoie sa fac un deploy la un proiect ce e tinut intr-un repository bitbucket. Deploy-ul ar trebui facut pe o masina ubuntu de la digitalocean . Deploy-ul ar consta in cateva comenzi simple:

  • update de repository (git pull)
  • composer update
  • small etc

Ce solutie am ca acest deploy sa se faca automat, la fiecare push pe un anumit branch. Toata povestea nu e in productie, e un fel de “staging” sau “last version” thing. Solutia nu trebuie sa fie free , ci repede de implementat.

Aruncă un ochi pe http://dploy.io/

1 Like

@andreitelteu: tx

Nu e cam periculos?

dploy is requesting access to the following:
Administer your repositories
Read and write to your repositories’ webhooks
Read and write to your repositories and their pull requests
Read and write to your team membership information
Read and write to your account information
Read and write to your repositories’ wikis
Read and write to your snippets
Read and write to your repositories’ issues

@andreitelteu: Dacă nu mă înșel, dploy nu rulează composer & co.

@Catalin_Banu: Din ce înțeleg, tu ai aceeași problemă ca mine, cu diferența că ai nevoie de alte comenzi rulate.

@iamntz: corect. O sa ma uit si la ce spune acolo. Sorry pentru duplicate

@Catalin_Banu: Nu stiu cat de periculos este sa le dai atatea permisiuni, dar nu este un SaaS aparut aseara, adica sunt online de ceva vreme.

@iamntz: Din cate vad eu pe prima pagina se pot declansa comenzi shell dupa deployment. Ba chiar mai mult dupa deploy te poate notifica pe slack, hipchat sau basecamp.

Dar eu zic ca e indeajuns sa folosesti hook-urile incluse in git. Eu am reusit sa imi setez un hook dupa ce faceam git push din instanta locala se facea deployment automat pe server apoi se scria din nou configuratia bazei de date, se aplicau niste permisiuni, apoi se aplica un dump din repo pe baza de date. Si eu in terminalul meu vedeam raspunsuri de la server “Fixing permisions… done.” (raspunsuri definite de mine).

Deznodamant:

  • dploy.io - a functionat foarte Ok pentru chestiile simple. Mi-a placut ca desi nu m-am descurcat din prima, am putut relua tot precesul foarte rapid.

  • a mers sa fac composer update , am ajuns la

cd $RELEASE/www/

cp .env.staging .env
/usr/local/bin/composer update
php artisan migrate:refresh --seed

chmod -R g+w  storage/
chgrp -R www-data storage/
1 Like