Search

All,

I'm planning on creating a AWS (Amazon Web Services) account and start two EC2 linux server instances for Symphony development (CI and continuous deployment of development branches).

This way there will always be a default Symphony installation available with released stable versions (Tags), nightly builds (Integration branch) and development branches.

Benefits for Core development

Apache can be configured to support multiple PHP versions, to which all the Symphony instances can be installed. The CI server can run PHPUnit tests on all these versions and provide results and send notifications on failure. In addition, UI & JavaScript unit testing frameworks can also be run by the CI server.

Benefits for Extension development

For extension developers, it can be setup to enable installation on multiple Symphony versions (for compatibility tests), run PHPUnit / Simpletest tests and UI testing.

I've been thinking about setting this up for my own Symphony / Extensions development, but I'd be happy to share this and create accounts for anyone who is interested as soon as I've completed configuration.

That would be fantastic and is very generous of you. I'd be keen in having an account to test Symphony across more environments to make it more robust.

Ok... first steps have been completed!

There is a domain, and there are 2 servers: http://sym-01.symphony-dev.net (deploy) and http://sym-02.symphony-dev.net (build)

On the deploy server (sym-01), there are two versions of PHP installed (5.2.12 and 5.3.6). These can be accessed using http://php-5_2.symphony-dev.net and http://php-5_3.symphony-dev.net

Currently, these domains will show the phpinfo() content. Can anyone please review this to see if all required extensions are installed (with correct version). Because else I will need to recompile.

Next step: automated build & deploy!

Very cool remie!

Brilliant.

Looks pretty good, I might suggest installing Tidy and APC modules as well.

The build string also includes --disable-json but omits --with-xsl, but the JSON & XSL sections says it's enabled so I'm not really sure what to believe in that case!

Hi,

As stated above, I'm working on setting up a development & release environment for Symphony developers.

Part of the plan is to create a 'Development as a Service' environment for testing your changes to the application / extensions against multiple versions of PHP / Symphony. You will be able to log in using your GitHub account. After your account has been verified, you will be given a personal MySQL database and an interface that allows you to setup multiple versions of Symphony (based on tag list). In addition, an automated unit test / build / package / deploy tool will be available.

Hooked up with code editors like Cloud9IDE this will allow you to fully develop and share you Symphony code in the cloud (ahh... yes... I finally managed to say it!).

here's the catch: I'm really excited in creating this, but I really suck at graphical / UX design. So if you feel like helping me out, please let me know!

What sort of help do you need?

I've been doing all my recent work on our agency servers, where we have root SSH access. But I've got some personal projects that I've been running on my old accounts on Joyent shared servers. I'm running into issues with running any versions of Symphony from the 2.2.x series on Joyent (PHP 5.2.12), where I'm getting 500 internal server errors. While Joyent is unresponsive to my requests to migrate to servers running PHP 5.3.5, I'm looking for other options.

I've tried logging into http://symphony-dev.net/ and it looks like it is definitely a work in progress (not much to see yet). You also mentioned we should combine efforts. I've been doing design and UX for a while, and I would be happy to help out. Plus, I want to get some experience under my belt using your Continuous Database Integration extension.

@remie - WOW!

@bauhouse: Until now, I've stolen all designs, so if you want to help, that would be great!

The idea is that after you've logged in, you will get a section that lists all your extensions and ensembles from GitHub. It should also include your "current" deploys of Symphony instances.

When clicking on an extension, you will see a "start" page with information on the extension (meta information). Clicking on an deployed instance will list all installed extensions.

On the start page, you should also be able to deploy a new Symphony installation by choosing the version and a list of extensions. This will be deployed and made available on [phpversion].symphony-dev.net/[username]/[deploy_name]. A fresh deploy will show the install page where the database information is already pre-filled.

I'm currently working on the GitHub extension to retrieve the repository list. As you can see, the "personal" page is work in progress. I'm having trouble with the design of this page as well as the start page. The current look-and-feel is stolen from cloud9 :)

So if you have any ideas, let me know!

I just signed up at Cloud9 to take a look at the application. It looks very nice indeed.

It sounds like you have a very ambitious feature set planned for symphony-dev.net. How were you thinking of involving other people in designing/developing the project?

How were you thinking of involving other people in designing/developing the project?

Hahaha, I haven't yet :) I've been working on this as a side-project on my own and have not taken the time to set-up Project Management. So the list of features is still in my head. Perhaps I should take some time to create the features as issues in GitHub so people can join.

@remie Just wondering if you made any progress with this.

I'm about to start a project to create a phpUnit extension for symphony and setup required environments so was just wondering how far you got?

Thanks

@davjand: not that far actually :( I've managed to setup a mixed PHP5.2 and PHP5.3 environment and we've been able to use this to test Symphony 2.3.

However, I'm still stuck at the part were it is possible for individual developers to start using this environment for their Symphony projects...

@remie - this sounds really great!

I'm currently working on a project that we want to have CI testing on ourselves. We've got phpUnit set up, but are having curious errors regarding a lack of an XSLTProcessor when running the phpunit console.

Any advice or ideas? How are you getting your phpUnit tests to create instances of pages to render them?

Tom

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details