Envoy para implementar un proyecto Laravel

[vc_row el_class=”blog-info”][vc_column][vc_single_image source=”featured_image” img_size=”full” style=”vc_box_rounded”][vc_empty_space height=”40px”][vc_row_inner][vc_column_inner width=”1/6″][/vc_column_inner][vc_column_inner width=”2/3″][vc_column_text el_class=”font-weight-bold”]

Implementar un proyecto Laravel usando Envoy

Laravel Envoy es una herramienta para ejecutar tareas comunes que ejecuta en sus servidores remotos. Con la sintaxis de estilo Blade, puede configurar fácilmente tareas para implementación, comandos Artisan y más. Actualmente, Envoy solo es compatible con los sistemas operativos Mac y Linux. Sin embargo, el soporte de Windows se puede lograr usando WSL2.

Requisitos:

  • git remoto usando ssh
  • cuenta ssh

[/vc_column_text][vc_empty_space height=”40px”][/vc_column_inner][vc_column_inner width=”1/6″][/vc_column_inner][/vc_row_inner][vc_row_inner][vc_column_inner width=”1/6″][/vc_column_inner][vc_column_inner width=”2/3″][vc_column_text]


Configurar el servidor de producción

  • Conectar al servidor

Crea un nuevo usuario

  • sudo adduser deployer (puede omitir si es un usuario aleardy)

Crea un nuevo usuario

  • ssh-keygen -f gitlab
envoy
archivo de salida

Debemos crear la clave ssh en el servidor porque para extraer el repositorio sin contraseña en el servidor

Copiar archivo a floder ~ / .ssh

 

cp gitlab.pub ~ / .ssh / id_rsa.pub

cp gitlab ~ / .ssh / id_rsa

 

Copie el servidor pubkey ssh a gitlab usando el comando.

 

cat ~ / .ssh / id_rsa.pub

 

Copiar texto del archivo ~ / .ssh / id_rsa.pub

A cuenta de gitlab (https://gitlab.com/-/profile/keys)

envoy
agregar servidor clave pub a gitlab

Primero, instale Envoy en su proyecto usando el administrador de paquetes Composer:

composer require laravel/envoy --dev
envoy
comprobar la instalación del Envoy

Después de eso, cree el archivo en el proyecto raíz.

Crear archivo Envoy.blade.php

@servers(['sulaeman' => '[email protected]'])
@setup
    $repo = '[email protected]:username/nameproject.git';
	  $branch = 'staging';
@endsetup

@story('deploy')
 admin
@endstory


@task('admin')
	cd /home/sulaeman/rumahsehat
	git pull origin {{ $branch }}  
	php artisan migrate --force 
	php artisan db:seed
@endtask

Ejecutar usando

 

Envoy ejecutar desplegar

 

envoy
despliegue de resultados

[/vc_column_text][/vc_column_inner][vc_column_inner width=”1/6″][/vc_column_inner][/vc_row_inner][/vc_column][/vc_row][vc_row el_class=”social-info”][vc_column width=”1/6″][/vc_column][vc_column width=”2/3″][vc_row_inner][vc_column_inner width=”1/2″][vc_column_text][social_share_button themes=’theme1′][/vc_column_text][/vc_column_inner][vc_column_inner el_class=”youtube-inner-col” width=”1/2″][vc_column_text][likebtn theme=”youtube” lang=”auto” show_like_label=”0″ white_label=”1″ alignment=”right”][/vc_column_text][/vc_column_inner][/vc_row_inner][vc_row_inner el_class=”social-info-inner”][vc_column_inner width=”1/4″][vc_single_image image=”921″][/vc_column_inner][vc_column_inner width=”3/4″][vc_column_text]

Diego Pacheco

Ingeniero en Sitemas, MBA (Babson College). Desarrollador PHP/Java/JavaScript. Fundador & CEO de EpicStudio. Entusiasta de las tecnologías web (JavaScript, Vue, Laravel, AWS, Docker) Viajes, Negocios, Surf y Growth.[/vc_column_text][asvc_list_item icon_fontawesome=”fa fa-calendar-o” icon_size=”14px”]Programar una reunión[/asvc_list_item][/vc_column_inner][/vc_row_inner][/vc_column][vc_column width=”1/6″][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

Recent Post

[/vc_column_text][lvca_posts_carousel posts_query=”size:3|order_by:rand|post_type:post” image_linkable=”true” image_size=”full” taxonomy_chosen=”post_tag” display_title=”true” display_post_date=”true” display_summary=”true” autoplay_speed=”3000″ animation_speed=”300″ display_columns=”3″ scroll_columns=”3″ gutter=”3″ tablet_display_columns=”2″ tablet_scroll_columns=”2″ tablet_gutter=”3″ tablet_width=”800″ mobile_display_columns=”1″ mobile_scroll_columns=”1″ mobile_gutter=”3″ mobile_width=”480″][vc_empty_space height=”20px”][/vc_column][/vc_row]