发展方法问题

时间:2010-09-10 08:37:36

标签: php

这是我一直在开发的第三个Web项目,我是所有项目的唯一开发人员。

现在我需要改变我的风格,不知道该怎么做,所以我需要你的建议。

我的设置是;

用于PHP开发的Netbeans

Github用于私有存储库(因为我在Windows上开发,我发现很难集成Git-Windows-Netbeans所以我可以根据需要进行更改)

用于项目管理的Basecamp(即使我使用GIT,我可能会更改我的GIT提供程序(github)并选择一个可以与Basecamp集成的程序)

我的需求是;

对于我当前的项目,我将设置一个开发服务器并首先测试那里的更改。然后我将它们提交给生产服务器。所以我应该能够使用netbeans,同时我可以轻松地提交到我的存储库并将更改应用到生产服务器。我怎么能轻易做到?我应该首先提交到存储库并从开发人员那里获取更改。服务器通过命令行?为每一次改变做这件事似乎有点工作。我应该直接上传到开发者。服务器,然后将最终更改提交到存储库并从那里获取更改到生产服务器?

那么,您建议将什么作为可以集成到netbeans中的存储库以及如何管理这些更改?

我还想使用其中一个提供程序(http://basecamphq.com/extras - 软件开发工具)。所以,如果你有这些公司的任何建议,那就太棒了

非常感谢,

1 个答案:

答案 0 :(得分:0)

每个人的口味都各不相同。

有许多IDE /编辑器,不同的版本控制系统,甚至不同的部署到实时服务器的方法。 所以最好的方法就是尝试不同的方法,直到找到适合你的方法。

我会告诉你我是怎么做到的,并从中得到你想要的东西。 而且我确定这会被某些人贬低,但我发现它最适合我。

我选择的编辑器是vim,但我也喜欢带有PDT插件的Eclipse。 Eclipse并不像netbeans那样“活泼”(至少在我的电脑上),但它非常好。

我使用SVN进行版本控制,这只是我多年来一直使用的东西,我很满意。

要将最新的代码部署到我的实时服务器,我可以在我的实时服务器上检查我的svn repo的主干,对于小的更改,我只是将它们直接提交到主干,但是对于更大的更改,我将代码分支更改,并且然后在准备好后将其合并回主干。

然后,我需要做的是在live上发出“svn update”,并从svn中检出新代码。 为了避免ssh进入机器,甚至可以从php脚本调用某个受保护的文件。

<?

$svnuser = username;
$svnpass = pass;

$returnString = exec("svn --username={$svnuser} --password={$svnpass} update 2>&1",$output,$returnVal);
header("Content-Type: text/plain");
print("Return value: {$returnVal}".PHP_EOL);
print("Return String: {$returnString}".PHP_EOL);
foreach($output as $line){
    print($line.PHP_EOL);
}

?>