问题描述
我是该领域的新手,但在不久的将来,我必须为朋友开发一个应用程序(我已经做了一些应用程序的工作,朋友很高兴)。
我假设我需要3个地方来存储我的作品,但我不确定这是否是最好的方法。我需要你的建议,意见,链接,书籍,关于这个主题的博客。
我计划拥有:
- 开发应用程序的地方
- 我保留应用程序备份的地方
- a使用应用程序即可使用
我将在开发阶段使用git,但后来我不知道使用的工具或哪些是最佳实践。你能给我一个建议吗?
PS:在这一刻,我正在使用cakephp来构建一些webapps,但我也时常使用C ++。
你是指源代码或任何编译结果?您可以使用像或作为备份系统。如果您不介意使用不受您控制的服务,我建议您这样做。
使用 git push 您的任何方式提交到远程存储库以进行备份。
$ b
编译结果的存储没有明确的标准。典型的结果是在文件共享/网络服务器/任何地方以定义的编号方案存储。
正如@Navi已经说过的那样,自动构建工具是一大优势。最好的做法是有一个命令的构建,这意味着您需要运行确切的一个命令来构建完整的软件。
您还应该考虑一个系统,这是一个软件,它监视中央源代码库的变化和自动构建当它检测到新的东西时,软件处于无尘室环境中。如果有很多(> 1)人从事软件产品工作,CI系统特别方便,因为他们可以非常快地显示损坏的构建。
I'm a newbie in the field, but in the near future I have to develop an application for a friend(I've already did some work of the app and the friend is happy).
I assume that I need 3 places to store my work, but I'm not sure if this is the best approach. I need your advice, opinion, link,book, blog about this subject.
I plan to have:
- a place where I develop the application
- a place where I keep a back-up of the application
- a place with the application ready for use
I'll use git in the development stage, but for the later I don't know what tools to use, or which are the good practices. Can you give me an advice?
PS: at this moment I'm using cakephp to build some webapps, but I play with C++ from time to time too.
This would be you local git checkout.
Do you mean the sources or any compiled result? For the sources you can
- Use a public service like http://github.com or http://gitorious.org as backup system. I recommend this if you don't mind to use a service which is not under your control.
- Set up a own git server (a linux box with sshd and git installed is sufficient). You need to be aware that there are some pitfalls when you set up a remote repository (the repositories should be bare, and you need to set the permissions right when there are multiple unix users which should be able to push into a repository)
With either way you git push your commits into the remote repository to have a backup of your work.
There is no definite standard on the storage of compiled results. Typical the results are stored with a defined numbering scheme on a file share/web server/whatever.
As @Navi already said, an automated build tool is a big plus. A best practice is to have a one-command build, which means that you need to run exact one command to build the complete software after a checkout.
You should also consider a continous integration system, this is a software which monitors a central source code repository for changes and automatically builds the software in a clean room environment when it detects something new. CI systems are especially handy if there are many (>1) people working on a software product, since they can show broken builds very quickly.
这篇关于你如何组织你的编程工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!