|
|
|
|
||||||
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Hi,
I am looking for tips regarding improving the development process. I'll explain my current setup and please feel free to comment. My developers all use windows + eclipse PDT, the workspace is hosted (via samba) in a Linux server with Apache/PHP/MySQL. I am in the process of adopting Unit testing (PHPUnit2) and debug (Xdebug) so I have concerns about how to property use this. For example, in my current setup I'd have to enable SSH so they could run the tests from the command line in the development server, but I am not sure if I could remotely use Xdebug. Thanks. |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
2008/5/10 robert mena <robert.mena@gmail.com>:
> I am looking for tips regarding improving the development process. I'll > explain my current setup and please feel free to comment. > > My developers all use windows + eclipse PDT, the workspace is hosted (via > samba) in a Linux server with Apache/PHP/MySQL. I am in the process of > adopting Unit testing (PHPUnit2) and debug (Xdebug) so I have concerns about > how to property use this. > > For example, in my current setup I'd have to enable SSH so they could run > the tests from the command line in the development server, but I am not sure > if I could remotely use Xdebug. Your description (specifically, Samba) suggests that you're not using source control. If you want to go for TDD (I don't know that you do, but IMO it's a good direction to move in) I would suggest a three-server setup - dev, staging and live. The dev server(s) are where you work. One per developer. Once you're happy with your code and your tests, you commit your changes to source control. This is where it gets clever. You can use pre- and post-commit hooks to run an automated build process that pushes the changes to a staging server, automatically runs the unit tests, and accepts/rejects the commits based on the test results. You can even lint the code, and reject anything that isn't in the house style. With larger projects, where an entire publish-and-test on each commit becomes impractical, you can just run the build process and unit tests every n hours, and mail out the results. Publishing to the live server is simply a matter of running the build scripts with a different destination. On top of all that, run an issue tracker. /Everything/ goes in the issue tracker, bugs, features, whatever. When you make a commit, that commit should be closing an issue in the issue tracker (via commit hooks again). That way you can track each change that's been made back to its reason. All of this is opinion, of course, there's no Right Way. Just take what's useful to you. |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
I suggest you if you are running live on linux, then developing on
linux, could be the same dist or not.. but definitely don't mix OS, because the extensions could fail, etc. one big issue it's the case insensitive in windows. definitely some version control system such as SVN or GIT you can use Hudson for continuous integration and selenium for automatics QA test over browsers again, try to don't mix OS. saludos gabriel On Sat, May 10, 2008 at 1:44 PM, David Otton <david@otton.org> wrote: > 2008/5/10 robert mena <robert.mena@gmail.com>: > >> I am looking for tips regarding improving the development process. I'll >> explain my current setup and please feel free to comment. >> >> My developers all use windows + eclipse PDT, the workspace is hosted (via >> samba) in a Linux server with Apache/PHP/MySQL. I am in the process of >> adopting Unit testing (PHPUnit2) and debug (Xdebug) so I have concerns about >> how to property use this. >> >> For example, in my current setup I'd have to enable SSH so they could run >> the tests from the command line in the development server, but I am not sure >> if I could remotely use Xdebug. > > Your description (specifically, Samba) suggests that you're not using > source control. If you want to go for TDD (I don't know that you do, > but IMO it's a good direction to move in) I would suggest a > three-server setup - dev, staging and live. > > The dev server(s) are where you work. One per developer. Once you're > happy with your code and your tests, you commit your changes to source > control. This is where it gets clever. You can use pre- and > post-commit hooks to run an automated build process that pushes the > changes to a staging server, automatically runs the unit tests, and > accepts/rejects the commits based on the test results. You can even > lint the code, and reject anything that isn't in the house style. > > With larger projects, where an entire publish-and-test on each commit > becomes impractical, you can just run the build process and unit tests > every n hours, and mail out the results. > > Publishing to the live server is simply a matter of running the build > scripts with a different destination. > > On top of all that, run an issue tracker. /Everything/ goes in the > issue tracker, bugs, features, whatever. When you make a commit, that > commit should be closing an issue in the issue tracker (via commit > hooks again). That way you can track each change that's been made back > to its reason. > > All of this is opinion, of course, there's no Right Way. Just take > what's useful to you. > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- Los sabios buscan la sabiduría; los necios creen haberla encontrado. Gabriel Sosa |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
Hi,
Thanks for all answers. Please let me add that I do use CVS (migrating to SVN) and the reason to use samba is that doing this allows the developer machine (windows) to access the shares hosted in a linux server so when he/she tests it will be run in the 'same' environment that the staging and production servers and because in order to assure browser compatibility they have to test from firefox/IE. So, in order to allow phpunit to be ran, have the firefox/IE support and use xdebug I have two basic options: a) stay with windows, install XAMPP (or any other all-in-one). And live with the fact that some things will have to be taken care of (such as PATH differences between unix/windows) b) switch to linux with the development stack, enable a windows server to be connected from rdesktop so they can test the IE In both cases I'll have extra work in order to maintain the developer's machine somewhat synchronized with the production server. Am I missing a third/fourth (better) etc option? thanks. On Sat, May 10, 2008 at 8:44 PM, Gabriel Sosa <sosagabriel@gmail.com> wrote: > I suggest you if you are running live on linux, then developing on > linux, could be the same dist or not.. > but definitely don't mix OS, because the extensions could fail, etc. > one big issue it's the case insensitive in windows. > > definitely some version control system such as SVN or GIT > > you can use Hudson for continuous integration > > and selenium for automatics QA test over browsers > > again, try to don't mix OS. > > saludos > > gabriel > > On Sat, May 10, 2008 at 1:44 PM, David Otton <david@otton.org> wrote: > > 2008/5/10 robert mena <robert.mena@gmail.com>: > > > >> I am looking for tips regarding improving the development process. I'll > >> explain my current setup and please feel free to comment. > >> > >> My developers all use windows + eclipse PDT, the workspace is hosted > (via > >> samba) in a Linux server with Apache/PHP/MySQL. I am in the process of > >> adopting Unit testing (PHPUnit2) and debug (Xdebug) so I have concerns > about > >> how to property use this. > >> > >> For example, in my current setup I'd have to enable SSH so they could > run > >> the tests from the command line in the development server, but I am not > sure > >> if I could remotely use Xdebug. > > > > Your description (specifically, Samba) suggests that you're not using > > source control. If you want to go for TDD (I don't know that you do, > > but IMO it's a good direction to move in) I would suggest a > > three-server setup - dev, staging and live. > > > > The dev server(s) are where you work. One per developer. Once you're > > happy with your code and your tests, you commit your changes to source > > control. This is where it gets clever. You can use pre- and > > post-commit hooks to run an automated build process that pushes the > > changes to a staging server, automatically runs the unit tests, and > > accepts/rejects the commits based on the test results. You can even > > lint the code, and reject anything that isn't in the house style. > > > > With larger projects, where an entire publish-and-test on each commit > > becomes impractical, you can just run the build process and unit tests > > every n hours, and mail out the results. > > > > Publishing to the live server is simply a matter of running the build > > scripts with a different destination. > > > > On top of all that, run an issue tracker. /Everything/ goes in the > > issue tracker, bugs, features, whatever. When you make a commit, that > > commit should be closing an issue in the issue tracker (via commit > > hooks again). That way you can track each change that's been made back > > to its reason. > > > > All of this is opinion, of course, there's no Right Way. Just take > > what's useful to you. > > > > -- > > PHP General Mailing List (http://www.php.net/) > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > > > > > -- > Los sabios buscan la sabiduría; los necios creen haberla encontrado. > Gabriel Sosa > |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
> Thanks for all answers. Please let me add that I do use CVS (migrating to
> SVN) and the reason to use samba is that doing this allows the developer > machine (windows) to access the shares hosted in a linux server so when > he/she tests it will be run in the 'same' environment that the staging and > production servers and because in order to assure browser compatibility they > have to test from firefox/IE. If you only have a small number of developers, you could do away with Samba completely and use SftpDrive, which allows you to map a drive to an SFTP account (essentially the same as an SSH account). http://www.phpguru.org/sftpdrive -- Richard Heyes +----------------------------------------+ | Access SSH with a Windows mapped drive | | http://www.phpguru.org/sftpdrive | +----------------------------------------+ |
|
|
|
#6 |
|
Messages: n/a
Hébergeur: |
On May 19, 2008, at 8:45 AM, Zoltán Németh wrote: >> Hi, >> Thanks for all answers. Please let me add that I do use CVS >> (migrating >> to >> SVN) and the reason to use samba is that doing this allows the >> developer >> machine (windows) to access the shares hosted in a linux server so >> when >> he/she tests it will be run in the 'same' environment that the >> staging and >> production servers and because in order to assure browser >> compatibility >> they >> have to test from firefox/IE. >> >> So, in order to allow phpunit to be ran, have the firefox/IE >> support and >> use >> xdebug I have two basic options: >> a) stay with windows, install XAMPP (or any other all-in-one). And >> live >> with the fact that some things will have to be taken care of (such as >> PATH differences between unix/windows) >> b) switch to linux with the development stack, enable a windows >> server to >> be >> connected from rdesktop so they can test the IE >> >> In both cases I'll have extra work in order to maintain the >> developer's >> machine somewhat synchronized with the production server. >> >> Am I missing a third/fourth (better) etc option? > > why not switch everything to linux and run IE in wine or vmware on the > developer's machine? that way you don't have to maintain windows > machines > at all Or depending on your budget, Switch the developers to Macintosh computers, install windows via parallels, and then you can test in Mac/ Unix/Windows all from 1 computer ![]() -- Jason Pruim Raoset Inc. Technology Manager MQC Specialist 3251 132nd ave Holland, MI, 49424-9337 www.raoset.com japruim@raoset.com |
|
|
|
#7 |
|
Messages: n/a
Hébergeur: |
> Hi,
> Thanks for all answers. Please let me add that I do use CVS (migrating > to > SVN) and the reason to use samba is that doing this allows the developer > machine (windows) to access the shares hosted in a linux server so when > he/she tests it will be run in the 'same' environment that the staging and > production servers and because in order to assure browser compatibility > they > have to test from firefox/IE. > > So, in order to allow phpunit to be ran, have the firefox/IE support and > use > xdebug I have two basic options: > a) stay with windows, install XAMPP (or any other all-in-one). And live > with the fact that some things will have to be taken care of (such as > PATH differences between unix/windows) > b) switch to linux with the development stack, enable a windows server to > be > connected from rdesktop so they can test the IE > > In both cases I'll have extra work in order to maintain the developer's > machine somewhat synchronized with the production server. > > Am I missing a third/fourth (better) etc option? why not switch everything to linux and run IE in wine or vmware on the developer's machine? that way you don't have to maintain windows machines at all greets, Zoltán Németh > > thanks. > > On Sat, May 10, 2008 at 8:44 PM, Gabriel Sosa <sosagabriel@gmail.com> > wrote: > >> I suggest you if you are running live on linux, then developing on >> linux, could be the same dist or not.. >> but definitely don't mix OS, because the extensions could fail, etc. >> one big issue it's the case insensitive in windows. >> >> definitely some version control system such as SVN or GIT >> >> you can use Hudson for continuous integration >> >> and selenium for automatics QA test over browsers >> >> again, try to don't mix OS. >> >> saludos >> >> gabriel >> >> On Sat, May 10, 2008 at 1:44 PM, David Otton <david@otton.org> wrote: >> > 2008/5/10 robert mena <robert.mena@gmail.com>: >> > >> >> I am looking for tips regarding improving the development process. >> I'll >> >> explain my current setup and please feel free to comment. >> >> >> >> My developers all use windows + eclipse PDT, the workspace is hosted >> (via >> >> samba) in a Linux server with Apache/PHP/MySQL. I am in the process >> of >> >> adopting Unit testing (PHPUnit2) and debug (Xdebug) so I have >> concerns >> about >> >> how to property use this. >> >> >> >> For example, in my current setup I'd have to enable SSH so they could >> run >> >> the tests from the command line in the development server, but I am >> not >> sure >> >> if I could remotely use Xdebug. >> > >> > Your description (specifically, Samba) suggests that you're not using >> > source control. If you want to go for TDD (I don't know that you do, >> > but IMO it's a good direction to move in) I would suggest a >> > three-server setup - dev, staging and live. >> > >> > The dev server(s) are where you work. One per developer. Once you're >> > happy with your code and your tests, you commit your changes to source >> > control. This is where it gets clever. You can use pre- and >> > post-commit hooks to run an automated build process that pushes the >> > changes to a staging server, automatically runs the unit tests, and >> > accepts/rejects the commits based on the test results. You can even >> > lint the code, and reject anything that isn't in the house style. >> > >> > With larger projects, where an entire publish-and-test on each commit >> > becomes impractical, you can just run the build process and unit tests >> > every n hours, and mail out the results. >> > >> > Publishing to the live server is simply a matter of running the build >> > scripts with a different destination. >> > >> > On top of all that, run an issue tracker. /Everything/ goes in the >> > issue tracker, bugs, features, whatever. When you make a commit, that >> > commit should be closing an issue in the issue tracker (via commit >> > hooks again). That way you can track each change that's been made back >> > to its reason. >> > >> > All of this is opinion, of course, there's no Right Way. Just take >> > what's useful to you. >> > >> > -- >> > PHP General Mailing List (http://www.php.net/) >> > To unsubscribe, visit: http://www.php.net/unsub.php >> > >> > >> >> >> >> -- >> Los sabios buscan la sabiduría; los necios creen haberla encontrado. >> Gabriel Sosa >> > |
|
|
|
#8 |
|
Messages: n/a
Hébergeur: |
> Or depending on your budget, Switch the developers to Macintosh
> computers, install windows via parallels, and then you can test in > Mac/Unix/Windows all from 1 computer ![]() And watch everyone quit... :-) -- Richard Heyes +----------------------------------------+ | Access SSH with a Windows mapped drive | | http://www.phpguru.org/sftpdrive | +----------------------------------------+ |
|
![]() |
| Outils de la discussion | |
|
|