deploy在laravel框架上安装配置使用教程

前提条件

  1. 本地可以使用从服务器上拉取并提交项目
  2. 服务器可以使用ssh通过密钥文件拉取项目
  3. 配置文件所配置的用户在服务器有写的权限

项目地址

https://github.com/lorisleiva/laravel-deployer
  1. 安装
composer require lorisleiva/laravel-deployer
  1. 生成部署文件
php artisan deploy:init
  1. 配置
# 配置文件在config/deploy.php

 'basic',

    /*
    |--------------------------------------------------------------------------
    | Custom deployment strategies
    |--------------------------------------------------------------------------
    |
    | Here, you can easily set up new custom strategies as a list of tasks.
    | Any key of this array are supported in the `default` option above.
    | Any key matching Laravel Deployer's strategies overrides them.
    |
    */

    'strategies' => [
        //
    ],

    /*
    |--------------------------------------------------------------------------
    | Hooks
    |--------------------------------------------------------------------------
    |
    | Hooks let you customize your deployments conveniently by pushing tasks
    | into strategic places of your deployment flow. Each of the official
    | strategies invoke hooks in different ways to implement their logic.
    |
    */

    // hooks自动部署(仅需要在push代码后自动触发部署事件时使用)
    'hooks' => [
        // Right before we start deploying.
        'start' => [
            //
        ],

        // Code and composer vendors are ready but nothing is built.
        'build' => [
            //
        ],

        // Deployment is done but not live yet (before symlink)
        'ready' => [
            'artisan:storage:link',
            'artisan:view:clear',
            'artisan:cache:clear',
            'artisan:config:cache',
            'artisan:migrate',
            'artisan:horizon:install',
        ],

        // Deployment is done and live
        'done' => [
            //
        ],

        // Deployment succeeded.
        'success' => [
            //
        ],

        // Deployment failed.
        'fail' => [
            //
        ],
    ],

    /*
    |--------------------------------------------------------------------------
    | Deployment options 部署选项
    |--------------------------------------------------------------------------
    |
    | Options follow a simple key/value structure and are used within tasks
    | to make them more configurable and reusable. You can use options to
    | configure existing tasks or to use within your own custom tasks.
    |
    */

    'options' => [
        // 项目名称
        'application' => env('APP_NAME', 'Laravel'),
        // 项目git仓库
        'repository' => '[email protected]:mingzhi_wuliu.git',
        // 部署完要重启的php-fpm
        'php_fpm_service' => 'php7.3-fpm',
    ],

    /*
    |--------------------------------------------------------------------------
    | Hosts
    |--------------------------------------------------------------------------
    |
    | Here, you can define any domain or subdomain you want to deploy to.
    | You can provide them with roles and stages to filter them during
    | deployment. Read more about how to configure them in the docs.
    |
    */

    // 主机
    'hosts' => [
        
        // 项目域名或外网ip
        'wuliu.mingzhihuatong.com' => [
            
            // 部署项目的路径
            'deploy_path' => '/data/site/www/wuliu.mingzhihuatong.com',
            
            // 部署项目所使用的服务器用户名称
            'user' => 'dev',
            
            // 部署项目阶段
            'stage' => 'production',
            
            // 要拉去的git分支
            'branch' => 'master',
        ],
    ],

    /*
    |--------------------------------------------------------------------------
    | Localhost
    |--------------------------------------------------------------------------
    |
    | This localhost option give you the ability to deploy directly on your
    | local machine, without needing any SSH connection. You can use the
    | same configurations used by hosts to configure your localhost.
    |
    */

    'localhost' => [
        //
    ],

    /*
    |--------------------------------------------------------------------------
    | Include additional Deployer recipes
    |--------------------------------------------------------------------------
    |
    | Here, you can add any third party recipes to provide additional tasks,
    | options and strategies. Therefore, it also allows you to create and
    | include your own recipes to define more complex deployment flows.
    |
    */

    // 自己的额外选项配置  项目根目录新建自定义目录,再新建自定义配置文件,如:
    'include' => [
        'my_deploy/my_recipe.php',
    ],

    /*
    |--------------------------------------------------------------------------
    | Use a custom Deployer file
    |--------------------------------------------------------------------------
    |
    | If you know what you are doing and want to take complete control over
    | Deployer's file, you can provide its path here. Note that, without
    | this configuration file, the root's deployer file will be used.
    |
    */

    'custom_deployer_file' => false,

];

自定义额外配置

# my_deploy/my_recipe.php

注意:自定义配置文件的命名空间必须是 Deployer,不能是其他的

部署命令

php artisan deploy  域名/服务器外网IP

你可能感兴趣的:(deploy在laravel框架上安装配置使用教程)