mlebkowski / crane
此软件包的最新版本(1.0.1)没有可用的许可信息。
1.0.1
2013-12-12 13:03 UTC
Requires
- cilex/console-service-provider: ~1.0
- igorw/config-service-provider: ~1.0
- justinrainbow/json-schema: ~1.3
- silex/silex: ~1.0
- symfony/config: ~2.3
- symfony/finder: ~2.0
- symfony/yaml: *
This package is auto-updated.
Last update: 2024-09-23 19:13:12 UTC
README
使用 docker 容器和 git 启动本地环境
设置
- 根据 架构 创建您的配置。您可以在那里找到详细的描述
- 将架构推送到 git 仓库,例如:
git@example.com:vendor/crane-project
初始化项目
-
使用 composer 在您的本地机器上安装 crane。
$ composer global require 'mlebkowski/crane:dev-master'
二进制文件将被放置在
~/.composer/vendor/bin/crane
-
添加项目配置
$ crane project:init git@example.com:vendor/crane-project
-
编辑
~/.crane/config.json
以设置targets
/current-target
构建镜像
每个目标只需要构建一次。Docker 镜像将从 Dockerfile 中构建。
$ crane image:build vendor/project-name --verbose
如果有什么变化或出现问题,您可能想使用 --rebuild
标志。
启动项目
启动所有容器。
$ crane project:start vendor/project-name --verbose
使用 --restart
如果出现问题或镜像已更改。主镜像总是会被重新启动。
启动应用程序
您可能想以某种方式启动应用程序(初始化数据库、设置权限等)。Crane 是应用程序无关的,因此它没有内置的机制。然而,它确实提供了一个 project:command
命令。它将使用 identity
文件作为私钥通过 SSH 进入正在运行的容器(如果容器内部暴露了 22
端口)。
例如,在主容器上运行启动命令
$ crane project:command vendor/project-name 'phing -verbose -f /home/main-image-name/build.xml install' --verbose
权限
确保您为目标主机设置了代理转发。所有 SSH 命令都使用 -A
标志。
编辑文件
您可能想编辑应用程序源文件。为此,将任何分支推送到 ssh://current-target/.crane/vendor-name/project-name/volumes/main-image-name
。那里有一个 post-receive
钩子,它将工作副本重置为推送的提交。
您也可以使用 sshfs
,但存在缓存和性能问题。 YMMV。