Componette

Componette

contributte

contributte / ftpdeployer v3.2.1

๐Ÿ’€ [DISCONTINUED] FTP deployment (by @dg) extension for Nette Framework (@nette).

download-cloud-line composer require contributte/deployer-extension

Website ๐Ÿš€ contributte.org | Contact ๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป f3l1x.io | Twitter ๐Ÿฆ @contributte

Disclaimer

โš ๏ธ This project is no longer being maintained.
Composer contributte/deployer-extension
Version
PHP
License

Usage

FTP deployment extension for Nette Framework. This extension integrates dg/ftp-deployment into Nette applications, providing easy configuration and deployment capabilities via FTP/FTPS protocols.

Installation

To install this package, use Composer:

composer require contributte/deployer-extension

Quick Start

1. Register the extension

Add the extension to your Nette configuration:

extensions:
	deployer: Contributte\Deployer\DI\DeployerExtension

2. Configure deployment

Basic configuration example:

parameters:
	deploy:
		protocol: ftp # ftp|ftps
		user: user1
		password: mysecretpwd
		scheme: example.com # example.com/www

deployer:
	config:
		mode: run
		logFile: %appDir%/log/deployer.log
		tempDir: %appDir%/temp
		colors: off

	sections:
		web1:
			remote: %deploy.protocol%://%deploy.user%:%deploy.password%@%deploy.scheme%
			local: %wwwDir%
			testMode: false
			allowdelete: on
			passiveMode: on

			ignore:
				- .git*
				- .idea*
				- composer.*
				- /app/config/config.local.neon
				- /log/*
				- "!/log/.htaccess"
				- /temp/*
				- "!/temp/.htaccess"

3. Deploy your application

Automatic deployment:

# Create Deploy Manager
$dm = $container->getByType('Contributte\Deployer\Manager');
$dm->deploy();

Manual deployment:

# Create config
$config = new Config();
$config->setLogFile(..);
$config->setMode(..);

$section = new Section();
$section->setName(..);
$config->addSection($section);

# Deploy
$dm = $container->getByType('Contributte\Deployer\Manager');
$dm->manualDeploy($config);

Features

Multiple deployment sections

Deploy to multiple servers/environments:

deployer:
	sections:
		example.com:
			remote: ftp://user:pass@example.com
			local: %wwwDir%
		test.cz:
			remote: ftp://user:pass@test.cz
			local: %wwwDir%

Listeners

Register custom listeners for pre/post deployment actions:

  • BeforeListener - Runs before deployment
  • AfterListener - Runs after deployment
deployer:
	sections:
		web1:
			before:
				- [@\TestBeforeListener, onBefore]
			after:
				- [@\TestAfterListener, onAfter]

Built-in Plugins

MaintenanceListener - Automatically manage maintenance mode during deployment:

deployer:
	plugins:
		maintenance:
			rewrite:
				- [www/index.php, www/index.maintenance]
			rename:
				- [www/.maintenance.php, www/maintenance.php]

ComposerInstallListener - Runs composer install --no-dev --prefer-dist --optimize-autoloader before deployment.

ComposerUpdateListener - Runs composer update --no-dev --prefer-dist --optimize-autoloader before deployment.

File Purging

Clean specific directories during deployment:

deployer:
	sections:
		web1:
			purge:
				- temp/cache
				- temp/myfolder

Versions

State Version Branch Nette PHP
stable ^3.2.1 master 3.0+ >=7.2

Development

This package was maintained by these authors.


Consider to support contributte development team. Also thank you for using this package.

price-tag-2-line

Badges

guide-fill

Dependencies

php (>=7.1)
nette/di (~2.4.13)
Componette Componette felix@nette.org