bazo/app-deployer

一种PaaS风格的部署应用程序

安装: 1

依赖者: 0

建议者: 0

安全: 0

星星: 8

关注者: 2

分支: 0

开放问题: 0

类型:项目

dev-master 2017-01-31 21:25 UTC

This package is not auto-updated.

Last update: 2020-01-07 13:43:15 UTC


README

这是什么

Deployer是一个PaaS风格的部署应用程序(类似于Pagodabox或Appfog)。它旨在用于在私有VPS服务器上部署Web应用程序

特性

一键推送自动部署、发布历史记录、发布重新部署

待办事项

  • 回滚到上一个版本
  • 私钥控制部署访问

先决条件

  • mongodb
  • redis
  • php 5.4
  • git

确保您的系统符合Nette框架的要求:http://doc.nette.org/en/requirements

安装

  • 将应用程序复制到目标位置
  • 运行composer install
  • 运行cli app:install - 这将创建数据库和集合,默认名称为deployer
  • 运行user:create创建您的第一个应用用户

如果您希望从应用程序GUI进行部署,您需要运行WAMP服务器和部署工作脚本

  • php wamp/server.php
  • php workers/deployWorker.php

建议使用supervisord在后台运行这两个进程。如果您需要同时部署多个应用程序,则可以运行任意数量的部署工作进程。同一应用程序的部署只能同时运行一个。自动部署不使用部署工作进程,而是作为git过程中的post receive钩子执行。

部署应用程序

通过点击导航栏中的“添加应用程序”按钮添加新应用程序 - 选择一个名称并提交 - Deployer将为您创建一个本地裸git仓库以推送 - 前往应用程序设置并设置应用程序的根文件夹 此文件夹将包含三个子文件夹

  • releases - 包含所有发布版本
  • live - 您应该将Web服务器指向此文件夹,它是当前发布版本的符号链接
  • shared - 包含在发布之间共享的文件夹,通常包括日志和临时文件夹、上传等...

自定义部署过程

您可以通过在应用程序根文件夹中添加deploy.neon文件来自定义部署过程。该文件有两个部分

shared_folders - 您想要在发布之间共享的文件夹列表 hooks - 在部署过程的各个阶段执行的命令

  • after_receive - 在推送的代码被检出后立即执行,非常适合运行composer install
  • before_deploy - 在将文件复制到发布文件夹后、在符号链接live文件夹之前执行
  • after_deploy - 在将live文件夹符号链接到发布文件夹之后执行

命令可以是您的服务器上可执行的任何内容

sample deploy.neon文件

shared_folders:
	- temp
	- log
hooks:
	after_receive:
		- "composer install"
	before_deploy:
		- "php test.php"
	after_deploy:
		- "rm -rf temp/cache"