PHPackages                             venditan/appengine-deploy - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [DevOps &amp; Deployment](/categories/devops)
4. /
5. venditan/appengine-deploy

ActiveLibrary[DevOps &amp; Deployment](/categories/devops)

venditan/appengine-deploy
=========================

Environment and Deployment Manager for Google App Engine Applications

v1.2.1(9y ago)46.6k8[4 issues](https://github.com/Venditan/appengine-deploy/issues)PHP

Since Sep 14Pushed 7y ago2 watchersCompare

[ Source](https://github.com/Venditan/appengine-deploy)[ Packagist](https://packagist.org/packages/venditan/appengine-deploy)[ Docs](https://github.com/Venditan/appengine-deploy)[ RSS](/packages/venditan-appengine-deploy/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (8)DependenciesVersions (10)Used By (0)

App Engine Deploy
=================

[](#app-engine-deploy)

Environment and Deployment Manager for **Google App Engine** Applications.

Supports multiple modules and multiple deployment targets (i.e. deploy to multiple unique appid's).

Working towards this:

Table of Contents
-----------------

[](#table-of-contents)

- [Example deploy.json](#example-deployjson-file)
- [Command Line](#usage)
- [Labels](#labels)
- [Installing with Composer](#installing-this-tool)
- [Code Separation](#code-separation-redirects)

What is this? Is it different from appcfg.py?
---------------------------------------------

[](#what-is-this-is-it-different-from-appcfgpy)

This allows you to **deploy the same code/application to multiple target environments** (local, multiple different App Engine projects).

Critically, it also allows you to **manage environment variables distinctly for each deployment target**.

This tool uses `appcfg.py` to actually push the deployments out, but it builds a dynamic command, overriding the target application id and environment variables at deploy time.

### Example deploy.json file

[](#example-deployjson-file)

Deployment targets and environments are configured in `deploy.json`, usually in your project root.

Here's a quick example where we have different database credentials for alpha and live environments.

```
{
    "targets": {
        "alpha": {
            "app_id": "myapp-alpha",
            "version": "alpha++",
            "require_label": false,
            "environment": {
                "APP_DB_USER": "root",
                "APP_DB_NAME": "DatabaseName",
                "APP_DB_SOCKET": "/cloudsql/myapp:instance"
            }
        },
        "live": {
            "app_id": "myapp",
            "version": "2",
            "require_label": true,
            "environment": {
                "APP_DB_USER": "root",
                "APP_DB_NAME": "LiveDatabaseName",
                "APP_DB_SOCKET": "/cloudsql/myapp:instance"
            }
        }
    }
}
```

### Local development environment

[](#local-development-environment)

You can configure the environment variables for your local development server in your yaml files like this:

```
env_variables:
  APP_DB_USER: root
  APP_DB_NAME: localdb
```

Usage
-----

[](#usage)

Deployment targets configured in `deploy.json` are executed using the `deploy` command, which is made available the `vendor/bin` folder by Composer.

For example, from your project root:

Deploy the **examples** module to the **alpha** target environment

```
vendor/bin/deploy --run --module=examples --target=alpha
```

Create a template **deploy.json** file

```
vendor/bin/deploy --init
```

Show the planned `appcfg.py` command for a deployment, but do not run it

```
vendor/bin/deploy --test --module=default --target=live
```

List the configured deployment targets

```
vendor/bin/deploy --verbose targets
```

### Default Module

[](#default-module)

You can use either `app` or `default` to deploy the default App Engine module (which is configured in your `app.yaml` file).

### Targets

[](#targets)

Each target is a different deployment, like "staging" and "production".

They must be uniquely named.

### Versions

[](#versions)

If you suffix your version name with `++` then we will auto-increment the version on each deployment.

In the example above, the first deployment gets `alpha1` and the second `alpha2` and so on.

In order to do this, we have to be able to detect what versions are already running. So, if you delete all your versions, we will start at 1 again.

### Labels

[](#labels)

You can supply a version label like this:

```
vendor/bin/deploy --run --module=examples --target=alpha --label=rel200
```

When the code is deployed, the label will be suffixed to the version number. So, for example if the version is "alpha3":

`alpha3-rel200`

If your configuration defines "require\_label" as true, when you deploy to that target, you will be required to enter a label. This is particularly useful for production environments, for managing feature releases, etc.

**Important** Labels must match the following regex: `[a-zA-Z0-9_]+` (one or more alphanumerics or underscores)

Code Separation, Redirects
--------------------------

[](#code-separation-redirects)

You can "redirect" from your `deploy.json` file to another, usually intended for situations where your environment configurations are stored in another version control repository.

So, this might be your deploy file from your application folder:

```
{
    "file":"../vendor/my-company/my-app-environment/deploy.json"
}
```

Installing this tool
--------------------

[](#installing-this-tool)

In your composer.json require section:

```
{
  "venditan/appengine-deploy": "1.1.*"
}
```

or with the command line

```
composer require venditan/appengine-deploy:1.1.*
```

###  Health Score

32

—

LowBetter than 71% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity28

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~63 days

Recently: every ~115 days

Total

9

Last Release

3378d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1e2b28a219ee1eb3272465e6405928b762272593849b52ecfa5576b5119d9d5e?d=identicon)[Docnet](/maintainers/Docnet)

---

Top Contributors

[![kazsaj](https://avatars.githubusercontent.com/u/5666877?v=4)](https://github.com/kazsaj "kazsaj (4 commits)")[![mykajs](https://avatars.githubusercontent.com/u/4084692?v=4)](https://github.com/mykajs "mykajs (3 commits)")[![gear4dave](https://avatars.githubusercontent.com/u/12171117?v=4)](https://github.com/gear4dave "gear4dave (2 commits)")[![craig-mcmahon](https://avatars.githubusercontent.com/u/5879594?v=4)](https://github.com/craig-mcmahon "craig-mcmahon (1 commits)")

---

Tags

deployapp enginevenditan

### Embed Badge

![Health badge](/badges/venditan-appengine-deploy/health.svg)

```
[![Health](https://phpackages.com/badges/venditan-appengine-deploy/health.svg)](https://phpackages.com/packages/venditan-appengine-deploy)
```

###  Alternatives

[banago/phploy

PHPloy - Incremental Git (S)FTP deployment tool that supports submodules, multiple servers and rollbacks.

1.4k47.2k](/packages/banago-phploy)[easycorp/easy-deploy-bundle

The easiest way to deploy Symfony applications

468310.2k](/packages/easycorp-easy-deploy-bundle)[jalogut/magento2-deployer-plus

Magento 2 deployment tool based on deployer.org

201415.5k](/packages/jalogut-magento2-deployer-plus)[pomander/pomander

Deployment for PHP

19815.7k2](/packages/pomander-pomander)[hpatoio/deploy-bundle

Easy deploy via rsync. Porting of Symfony 1 project:deploy command.

3696.6k1](/packages/hpatoio-deploy-bundle)[rafaelstz/deployer-magento2

Magento 2 deployment tool based on deployer.org

5223.5k](/packages/rafaelstz-deployer-magento2)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
