基于 deployer 的 Web 端自动部署

命令行端的deployer是无状态,对于每一个项目想要查看发布的记录是一件很难受的一件事,因此有了此项目
效果预览

项目列表

基于 deployer 的 Web 端自动部署

新建服务器

基于 deployer 的 Web 端自动部署

新建任务

基于 deployer 的 Web 端自动部署

新建项目

基于 deployer 的 Web 端自动部署

发布项目

基于 deployer 的 Web 端自动部署

ajax轮询展示项目部署状态

基于 deployer 的 Web 端自动部署

install

git clone https://github.com/jc91715/deployer project 

composer

cd project && composer install

配置数据库迁移

php artisan db:seed

队列监听

php artisan queue:listen &

访问 yourdomain.com 或者 yourdomain.com/build/admin/index.html

账户 admin@admin.com
密码 secret

前后端分离

后端

  • Laravel 5.5
    前端
  • vue 2.6.6

使用laravel-mix 前端打包后的代码在public/build/admin 路径下。两种方式访问前端代码

  • 1 yourdomain.com
  • 2 yourdomain.com/build/admin/index.html

    如何使用

    使用之前部署该web的服务器的id_rsa.pub放到要部署的服务器上

先熟悉使用 deployer
了解server和task的概念
项目之间是通过空间隔开的,同一空间下的项目可以共享task和server。假如要配置测试环境,测试环境就是配置的一些参数不一样,可以新建一个项目,在项目的env(laravel框架)配置不同就可以,其它框架可以自行实现测试环境的配置

1新建空间

2 新建服务器

配置格式

jc91715.top:
    host: 47.96.15.116
    user: root
    identity_file:
        public_key: ~/.ssh/id_rsa.pub
        private_key: ~/.ssh/id_rsa
    stage: master
    deploy_path: /var/www/sites/helloworld
jc91715.top:
    host: 47.96.15.116
    user: root
    identity_file:
        public_key: ~/.ssh/id_rsa.pub
        private_key: ~/.ssh/id_rsa
    stage: master
    deploy_path: /var/www/sites/helloworld

3 新建任务

任务格式

 <?php  
require 'recipe/laravel.php';
task('chown:user', function() {

    run('cd {{deploy_path}}/../ && chown  ubuntu:www-data {{deploy_path}} -R');
});after('deploy:unlock', 'chown:user');

4 新建项目

  • 填写仓库名字
  • 选择服务器
  • 选择任务
  • 填写配置文件

    5 发布

  • 填写分支名字
  • 填写分支hash
本作品采用《CC 协议》,转载必须注明作者和本文链接
Make everything simple instead of making difficulties as simple as possible
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!