clickrain/breeze

安装: 11

依赖项: 0

建议者: 0

安全: 0

星标: 2

关注者: 5

分支: 1

开放问题: 0

类型:项目

0.1.2 2016-04-26 21:48 UTC

This package is not auto-updated.

Last update: 2024-09-20 19:35:31 UTC


README

一个用于在Vagrant环境中管理LAMP项目的PHP CLI工具

简介

Breeze是一个用于在虚拟开发环境中快速启动网站的工具集。受到Laravel Homestead早期版本的影响,Breeze旨在消除或简化在PHP项目上开始开发所需的步骤。它提供了一个带有预先配置的软件(Ubuntu 14.04、Apache、MySQL、PHP、Git等)的Vagrant环境,以及一个用于管理所有网站的单一配置文件,因此创建开发站点就像复制/粘贴和运行几个简单命令一样简单。

Breeze对于维护服务器上现有的网站特别有帮助。在开发环境中设置现有网站可能很麻烦,但Breeze可以自动化常见任务,如创建虚拟主机、复制数据库和下载站点的最新版本资产。过去需要几分钟的任务现在只需要几秒钟,这意味着你可以花更多的时间编写代码和解决问题。

先决条件

在启动Breeze环境之前,你需要在系统上安装以下软件

远程环境

Breeze提供了一些工具,用于从服务器“拉取”数据库和文件到本地开发环境。Breeze对其如何与远程环境交互有自己的看法。要使用Breeze同步数据库和远程文件的功能,你需要能够通过SSH使用身份文件进行身份验证来访问你的远程服务器。对于某些操作,远程环境中还需要常用的工具,如rsyncmysqldump

安装和设置

在启动Breeze环境之前,你需要在系统上安装VirtualBox、Vagrant、PHP和Composer。如果你使用的是Windows,你需要使用Git BASH或等效的终端。此外,如果你使用Windows,使用Breeze有一些需要注意的问题,如下所述。

安装Ubuntu Box

Breeze使用Ubuntu Box作为它的虚拟化环境。使用Vagrant添加Box

vagrant box add ubuntu/trusty64

安装Breeze

使用composer全局安装Breeze

composer global require clickrain/breeze dev-master

确保composer的bin目录在你的路径中

export PATH=~/.composer/vendor/bin:$PATH

在终端中输入breeze并按ENTER键应该会显示Breeze命令列表。现在要初始化Breeze配置,运行以下命令

breeze init

这将在你主目录中安装一个名为.breeze的目录。你的主要Breeze.yaml配置文件将存储在这里,以及Breeze将使用的其他一些文件。

设置自动完成

强烈建议你为Breeze设置自动完成。将以下内容添加到你的.bash_profile

eval $(breeze _completion --generate-hook --program breeze)

使用source命令使.bash_profile文件立即生效

source ~/.bash_profile

现在在输入breeze后按TAB键应该会提供可用命令和选项的列表。

Mac OSX 用户:如果您尚未配置,可能需要在OSX上配置bash自动补全。请按照以下链接中的说明进行操作,以正确配置自动补全:https://github.com/bobthecow/git-flow-completion/wiki/Install-Bash-git-completion

启动您的Breeze设备

您可以使用 breeze up 命令启动您的Breeze设备。首次运行此命令时,Breeze将为您分配设备并准备开发环境!

配置Breeze

当您使用 breeze init 初始化Breeze时,将创建一个启动配置文件 ~/.breeze/Breeze.yaml。您可以编辑此文件来更改您的Breeze设备设置。

Breeze还允许您通过在终端中输入 breeze edit 来快速编辑 Breeze.yaml 配置文件。(您可能需要设置默认编辑器才能使此功能生效。)

示例配置文件

以下是示例Breeze配置文件。以下配置文件将详细解释。

ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/workspace
      to: /var/www/vhosts

ports:
  - send: 9999
    to: 9999

servers:
    - id: web1
      user: james
      host: web1.example.net
      port: 22

sites:
    - id: example.com
      aliases: [example.dev]
      path: /var/www/vhosts/example.com
      document_root: httpdocs
      server: web1
      server_path: /var/www/vhosts/example.com
      uploads_path: public/uploads

databases:
    - id: example
      local_name: example
      local_user: example
      local_password: secret
      remote_name: example_prod
      remote_user: example_prod
      remote_password: prodsecret
      remote_host: localhost
      remote_port: 3306
      server: web1

虚拟机配置

以下配置项可用于配置您的虚拟机。

ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
    - ~/.ssh/id_rsa

以下是每个项目的简要说明

文件夹

文件夹配置部分描述了宿主机的文件夹如何映射到访客(Breeze)设备。

folders:
    - map: ~/workspace
      to: /var/www/vhosts

在上面的示例中,宿主机上的 /home/user/workspace 目录映射到Breeze中的 /var/www/vhosts

端口

默认情况下,以下端口会自动从Breeze访客设备转发到宿主机

  • HTTP:端口 8000 → 端口 80
  • HTTPS:端口 44300 → 端口 443
  • MySQL:端口 33060 → 端口 3306

端口配置部分允许您从宿主机转发更多端口到Breeze访客设备。

ports:
  - send: 9999
    to: 9999

服务器

以下是在文件夹配置部分的一个示例条目

servers:
    - id: web1
      user: james
      host: web1.example.net
      port: 4561

以下是每个项目的分解说明

提示:请考虑在Breeze服务器和宿主机SSH配置文件中使用类似的命名约定。例如,当使用 breeze search <短语> 进行搜索时,生成的 git clone 命令将使用Breeze服务器ID作为主机标识符。如果与宿主机的SSH配置匹配,则从搜索输出复制克隆仓库将变得非常简单。

站点

以下是一个示例站点配置

sites:
    - id: example.com
      aliases: [example.dev]
      path: /var/www/vhosts/example.com
      document_root: httpdocs
      server: web1
      server_path: /var/www/vhosts/example.com
      uploads_path: public/uploads

以下是每个项目的分解说明

数据库

以下是一个示例数据库配置

databases:
    - id: example
      local_name: example
      local_user: example
      local_password: secret
      remote_name: example_prod
      remote_user: example_prod
      remote_password: prodsecret
      remote_host: localhost
      remote_port: 3306
      server: web1

以下是每个配置项的分解说明

SSH配置

为了简化可能需要SSH(ssh、scp、rsync等)的工作,您可以将以下内容添加到您的 ~/.ssh/config 文件中

Host breeze
    HostName 127.0.0.1
        Port 2222
        KeepAlive yes
        ServerAliveInterval 60
        User vagrant

这将允许您输入 ssh breeze 并直接SSH到您的机器(前提是SSH密钥已正确设置)。

Breeze命令

以下是可用的Breeze命令列表。

Breeze实用命令

init

~/.breeze 中初始化Breeze配置文件

breeze init

edit

使用默认编辑器编辑Breeze配置文件

breeze edit

config:ssh

基于配置的服务器生成Breeze访客机内的SSH配置文件

breeze config:ssh

Vagrant命令

以下命令作为运行Vagrant命令对Breeze虚拟机的辅助工具。

up

启动Breeze设备(代理到 vagrant up)。可选性地通过传递 --provision 标志进行分配。

breeze up [--provision]

status

显示Breeze设备的状态(代理到 vagrant status

breeze status

provision

分配Breeze设备(代理到 vagrant provision

breeze provision

reload

重新启动Breeze设备(代理到 vagrant reload

breeze reload

halt

停止Breeze机器(代理到vagrant halt

breeze halt

reload

重启Breeze机器(代理到vagrant reload

breeze reload

挂起

挂起Breeze机器(代理到vagrant suspend

breeze suspend

恢复

恢复挂起的Breeze机器(代理到vagrant resume

breeze resume

ssh

通过SSH登录到Breeze机器(代理到vagrant ssh

breeze ssh

销毁

此命令将销毁Breeze机器

breeze destroy

站点命令

site:create

为给定的<site>创建并启用一个虚拟主机。

breeze site:create [--force] [--] <site>

如果您添加了--force选项,此命令将覆盖该<site>的任何现有配置文件。

site:delete

删除给定<site>的虚拟主机文件。

breeze site:create [--force] [--] <site>

如果您添加了--purge选项,此命令将完全删除此站点的所有文件,包括客机和主机上的文件,因此请谨慎使用!

site:list

列出Breeze配置中的站点

breeze site:list

site:pull-rsync

通过rsync从远程服务器拉取给定<site>的站点文件

breeze site:pull-git <site>

site:sync-uploads

通过rsync从远程服务器拉取给定<site>的上传文件

breeze site:sync-uploads <site>

数据库命令

db:create

在Breeze虚拟机客人上创建给定的<database>

breeze db:create <database>

db:drop

从Breeze虚拟机客人上删除给定的<database>

breeze db:drop <database>

db:dump

将Breeze虚拟机客人上的给定<database>导出到输出

breeze db:dump <database>

传递--remote选项以导出远程数据库

db:pull

从远程服务器将给定的<database>拉入Breeze虚拟机客人上的数据库

breeze db:pull <database>

注意:这将覆盖Breeze VM上的现有数据库

Web命令

web:reload

重新加载Breeze Apache服务器

breeze web:reload

web:restart

重启Breeze Apache服务器

breeze web:restart

附录:Windows设置和注意事项

SSH问题

目前在Windows上Breeze存在一些未解决的问题,导致其无法正确运行。但是,您可以通过SSH直接登录到Breeze(无论是从Breeze项目目录使用vagrant ssh,还是通过设置SSH配置文件并运行ssh breeze)来使用Breeze的几乎所有功能,然后在该终端内运行所有Breeze命令。

Composer安装

为了安装Breeze,您需要安装并运行Composer。这可能有点棘手,但这个工具可以简化这个过程

https://github.com/composer/windows-setup

许可证

Breeze是开源软件,并使用MIT许可证。