Deployment: Setup TYPO3.Surf

TYPO3.Surf is a package for FLOW3 to do automatic deployments for FLOW3 applications. However as the concepts of TYPO3.Surf are pretty generic, why not deploying a TYPO3 v4/v6 website with Surf?

Today we’re going to learn how to setup a TYPO3.Surf installation.

You can use one TYPO3.Surf setup to deploy as many different sites or applications as you want. So you don’t need a TYPO3.Surf for each project, but one for them all. TYPO3.Surf does not need a webserver. Actually it does not provide any web interface but is completely CLI based. For the moment we will trigger/execute TYPO3.Surf manually by hand. Later we could have an Jenkins to do that for us.




Update 09.10.2012:

It’s now much easier to install TYPO3 Surf using the „composer“.
See my comment below this article.




First, we need a blank FLOW3 installation:

git clone --recursive git://git.typo3.org/FLOW3/Distributions/Base.git SurfNTurf
cd SurfNTurf
./flow3 cache:warmup

Next, we install TYPO3.Surf:

./flow3 package:import TYPO3.Surf

./flow3 package:activate TYPO3.Surf # find out which new commands are provided by the package "TYPO3.Surf" ./flow3 help

# the package itself is available here: ls -l Packages/Application/TYPO3.Surf/

Basically thats it. To actually use TYPO3.Surf you need to write a Surf configuration. They are pretty simple PHP-Files, placed in Build/Surf/. Later you will have one configuration for each installation/website (project/customer) and node (staging, production/live) on which you are going to deploy to. Currently TYPO3.Surf provides everything you need for deploying a FLOW3 application. However we need to cover some special needs for TYPO3v4/v6. Some TYPO3.Surf changes for that are already pending in Gerrit for review and some more are in the pipeline.

How to write your own Surf configuration, what you will need to deploy a TYPO3v4/v6 installation, what a „Workflow“, „Application“ and a „Node“ is, will be covered in the next blog post.

For the time being you will find the recent TYPO3.Surf documentation here.

8 Gedanken zu „Deployment: Setup TYPO3.Surf

  1. Pingback: Blog series about “TYPO3v4/v6 Deployment” | etobi

  2. Pingback: Deployment: Write a deployment recipe for TYPO3.Surf | etobi

  3. etobi Artikelautor

    To to the recent changes in TYPO3 Flow (aka FLOW3) installing Surf changed a little bit and got much easier using composer.

    # install composer
    curl -s https://getcomposer.org/installer | php
    sudo mv composer.phar /usr/local/bin/composer
    
    # install Surf Base Distribution
    composer create-project --repository-url="http://etobi.de/composer" typo3/surf-base-distribution SurfNTurf
    
    Antworten
  4. Kim

    the installation with composer:

    composer create-project –repository-url=“http://etobi.de/composer“ typo3/surf-base-distribution SurfNTurf

    Creates thi error message: „Could not find package typo3/surf-base-distribution with stability stable.“

    And composer create-project -sdev -vvv –repository-url=“http://etobi.de/composer“ typo3/surf-base-distribution SurfNTurf

    Through out this error: proc_open(): CreateProcess failed, error code – 267

    what do i wrong?

    Antworten
  5. Arvid Jakobsson

    I had to pass „-s dev“ in ordet for the composer command. So that gives:

    composer create-project -s dev --repository-url="http://etobi.de/composer" typo3/surf-base-distribution SurfNTurf
    
    Antworten
  6. etobi Artikelautor

    Things are changing over time. However, this should work (just did it minutes ago):

    # composer create-project typo3/flow-base-distribution SurfNTurf
    # cd SurfNTurf
    # composer require typo3/Surf
    # ./flow surf:list
    Antworten
  7. Arvid Jakobsson

    When running composer require typo3/Surf composer will ask for a version constraint. I passed „dev-master“ and it seems to work fine.

    Antworten

Schreib einen Kommentar zu Arvid Jakobsson Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *