Download the PHP package madj2k/t3-surf without Composer

On this page you can find all versions of the php package madj2k/t3-surf. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package t3-surf

Stages of deployment

When running a deployment the following stages and corresponding tasks are executed.

Stage 1: initialize

This is normally used only for an initial deployment to an instance. At this stage you may prefill certain directories for example.

  1. TYPO3\Surf\Task\Generic\CreateDirectoriesTask
  2. TYPO3\Surf\Task\CreateDirectoriesTask
  3. TYPO3\Surf\Task\DumpDatabaseTask (wenn initialDeployment == true)
  4. TYPO3\Surf\Task\RsyncFoldersTask (wenn initialDeployment == true)

Stage 2: lock deployment

Lock deployment

BEFORE:

  1. TYPO3\Surf\Task\UnlockDeploymentTask (wenn --force-run)

REGULAR:

  1. TYPO3\Surf\Task\LockDeploymentTask

Stage 3: package

This stage is where you normally package all files and assets, which will be transferred to the next stage.

  1. TYPO3\Surf\Task\Package\GitTask
  2. TYPO3\Surf\DefinedTask\Composer\LocalInstallTask
  3. Madj2k\Surf\Task\Local\File\CopyEnvTask
  4. Madj2k\Surf\Task\Local\File\CopyHtaccessTask
  5. Madj2k\Surf\Task\Local\File\CopyAdditionalConfigurationTask
  6. Madj2k\Surf\Task\Local\File\FixPermissionsTask
  7. Madj2k\Surf\Task\Local\Git\SetFileModeIgnoreTask
  8. Madj2k\Surf\Task\Local\Composer\InstallStagingTask OR Madj2k\Surf\Task\Local\Composer\InstallProductionTask

Stage 4: transfer

Here all tasks are located which serve to transfer the assets from your local computer to the node, where the application runs.

  1. TYPO3\Surf\Task\Transfer

AFTER:

  1. Madj2k\Surf\Task\Remote\File\CreateVarFoldersTask
  2. TYPO3\Surf\Task\Generic\CreateSymlinksTask
  3. TYPO3\Surf\Task\TYPO3\CMS\CreatePackageStatesTask

Stage 5: update

Update the application assets on the node

BEFORE:

  1. Madj2k\Surf\Task\Remote\CMS\LockForEditorsTask

REGULAR:

  1. Madj2k\Surf\Task\Remote\CMS\UpgradeTask

AFTER:

  1. TYPO3\Surf\Task\TYPO3\CMS\SymlinkDataTask
  2. TYPO3\Surf\Task\TYPO3\CMS\CopyConfigurationTask

Stage 6: migrate

Migrate (Doctrine, custom)

  1. TYPO3\Surf\Task\TYPO3\CMS\SetUpExtensionsTask
  2. TYPO3\Surf\Task\TYPO3\CMS\CompareDatabaseTask

Stage 7: finalize

Prepare final release (e.g. warmup)

REGULAR:

  1. Madj2k\Surf\Task\Remote\File\FixPermissionsTask
  2. Madj2k\Surf\Task\Remote\TYPO3\CMS\FixFolderStructureTask

AFTER:

  1. Madj2k\Surf\Task\Remote\File\CopyDummyFilesTask (only if NOT on production!)

Stage 8: test

Smoke test

Stage 9: Switch

Do symlink to current release. This is the crucial stage. Here the old live instance is switched with the new prepared instance. Normally the new instance is symlinked.

  1. TYPO3\Surf\Task\SymlinkReleaseTask

AFTER:

  1. TYPO3\Surf\Task\TYPO3\CMS\FlushCachesTask

Stage 10: cleanup

Delete temporary files or previous releases

  1. TYPO3\Surf\Task\CleanupReleasesTask

Stage 11: unlock

Unlock deployment

  1. TYPO3\Surf\Task\UnlockDeploymentTask
  2. Madj2k\Surf\Task\Remote\TYPO3\CMS\UnlockForEditorsTask

AFTER:

  1. Madj2k\Surf\Task\Remote\EmailNotification

Folders and files for your deployment project

If you want to deploy your TYPO3 project with this extension, you should create a few folder structures and files to be able to use the full potential.

Folder: .surf

Contains the configuration for the TYPO3 extension Surf for deployment and the corresponding Deployment-Scripts.

File: .surf/Production.php

File: .surf/Staging.php

Folder: .surf/Credentials

Contains the access data for the respective environments. IMPORTANT: Do not put these files into your versioning!

Example:

File: .htaccess.dev / .htaccess.prod / .htaccess.stage / .nginx.dev / .nginx.prod / .nginx.stage

Contains the settings for the given environment. You can use .htaccess for Apache or .nginx for Nginx. Will be deployed automatically.

File: .htpasswd.dev / .htpasswd.prod / _.htpasswd.stage

Same as _htaccess.*

File: composer.json

Contains the packages to install. To be able to install packages that themselves have dependencies on packages that are only available as @dev, you need to specify the minimum-stabilty in combination with prefer-stable. With preferred-install you can specify that certain packages should be installed as GIT repositories so that you can work on them directly.

Folder: dummy

Contains dummy files for sys_file-references. The content of this folder will be deployed on your stage-environment (of course not on production!)

File: .env.dev / .env.prod / _.env.stage

This file contains a list of all extensions to be activated in the given enviroment. If this file is copied to .env before installation, the package "helhum/dotenv-connector" will automatically create a corresponding PackageStates.php.

Example:

File: public/typo3conf/AdditionalConfiguration.php

This file contains the relevant settings for the according environment. IMPORTANT: Do NOT put any access data or enycryption keys into versioning that are relevant for the live environment. These are ONLY to be put into LocalConfiguation.php on production and stage respectively!!!

How to deploy

For the deployment you need a branch with the same name as the deployment-step you want to execute.

Examples:

You also need a deployment script with the same name as the branch you want to deploy, e.g ./.surf/Staging.php for staging-branch.

Beyond that it is necessary to create a corresponding credential file in .surf/Credentials. Use the example above as template.

Before you deploy

In case there are any uncommitted changes, please commit them in the corresponding repository to prevent losing them when calling composer throughout the deployment process.

In case you may need a new extension, please don't forget to publish it on packagist. Otherwise it won't be available to standard composer update process.

The deployment

Do the deployment using the following command from your DocumentRoot.

IMPORTANT: The surf extension requires PHP 7 on the CLI IMPORTANT: Do NOT run deployment with root or super-user!!! Always use your local user (e.g. via vagrant ssh or via ddev ssh) IMPORTANT: Please login to the TYPO3 backend of your target installation (Staging, Production, ...), so you may have access to it, even if anything may fail or break during the deployment with .surf.

You can use verbose-output to get more information if something goes wrong:

Important hints

When running with doUpgrade

Changes with v10.4.0


All versions of t3-surf with dependencies

PHP Build Version
Package Version
Requires php Version ~7.4.0
typo3/cms-core Version ~10.4.0
typo3/surf Version *
helhum/typo3-console Version *
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package madj2k/t3-surf contains the following files

Loading the files please wait ....