Answer the question
In order to leave comments, you need to log in
How to develop php project in command?
Good afternoon! Please tell me in what order team projects are developed. How everything works. Using netBeans IDE via ftp
Answer the question
In order to leave comments, you need to log in
Infrastructure
* Create a repository on Bitbucket or GitHub .
* Create a local copy of the repository for yourself and locally raise the database with the same structure
* If changes are required in the database, create "migrations" that will update the data structure or the data itself.
* Send your code changes, as well as migrations, to the repository
. There is also the possibility of creating virtual servers for development or using the online IDE. Solves a bunch of problems if the internet is fast.
* https://compilr.com/ Complete development environment
* https://koding.com/ Development environment with a pre-installed web server and social network elements
* online-php.com Online IDE
* https://codeanywhere.com/ Development environment. The code can be stored in the cloud, as well as in Dropbox, Google Drive, FTP, github.
Other online collaboration tools
Intermediate versions
If you are geographically close to each other, then just periodically show what you are getting.
If not, use Skype Shared Screen, Join.me and other similar products to watch and chat together by voice. And TeamViewer is better, so that you can see and fix it together.
Updating the server
Changes to the server install from the same repository. Don't forget about migrations. Take care of security issues. At least this way: hide .git files
1. Learn git - githowto.com/ru
2. Learn the concept of git flow - habrahabr.ru/post/159107 . You can use GUI clients with support for this feature, for Windows the best is SmartGit, for Mac - Tower.
3. We study how to deploy the code to the server from a remote repository. If you want a deep dive - deploying a new copy in a separate folder so you can rollback to a previous version, symlinks, that's it - check out the recipes on deployer.org . If not, use deployer.org without recipes, just a couple of commands git reset HEAD --hard && git pull origin master . Or even a hook from github or bitbucket.
May Git and [Jira|Redmine|etc.] be with you. Give up ftp, this is the last century and development in this way is fraught with data loss - don't do it.
1. As mentioned above - git or mercurial (on bitbucket, github or on your own server). We clone copies from the main repository to local machines.
2. dev-environment:
2.1 dev-server with subdomains for each developer
2.2 or a local web server (each has its own)
2.3 required - "pre-production" server - checks will be made there before deployment to production
3. Set each normal IDE, which can work with local files and deploy changes to the server (PHPStorm).
4. Set up the IDE so that you work with local files, and at the same time, when you save, changes are automatically sent to your dev server.
5. Unit tests, functional tests, in order to be sure that one of the developers did not break your project with their changes before deploying to production.
6. If there are changes in the database - migrations
7. In production, you also clone from the main repository (for the convenience of updating the code)
Thus . the development process will look like this:
1. The developer pulls the changes from the main repository
2. Changes something in the code, testing it on his dev server
3. After covering the code with new tests, runs them and pushes the changes to the main branch
4. In pre-production, we are updating from the main branch. We run all the tests.
5. If the tests pass, we update to the same commit in production
To get started, you need at least Git or SVN. You won't have any problems without them. :)
I would start the conversation with management. Of course, git is a good, useful thing, but nevertheless, git is a version control system in the first place, and then it’s worth saying that when developing by a team, control is obtained by a different programmer with his own version and so that someone does not leak all their developments to the dev server that will replace the development neighbor who poured everything an hour earlier. You can even say that git is indispensable, but you can also work with git when working alone, and in this it will also help you very well to control the process of uploading a file to the server and making changes to files. Therefore, I also want to say that the introduction of one git will certainly simplify the work, but not so that everything will become cool.
Speaking about team development management, we can say that there should be a team lead (the ideological inspirer of the project) who will be responsible for its implementation, that there should be a project manager in the project who will translate from the client’s language into the language of the team lead and then unite the opinions of the team -lead with the client's opinion and write out a user-story for the programmer. However, much more is said in the description of team development methodologies using the flexible Agile system with Scrum and Kanban methodologies. I think this is something that needs to be studied in order to organize team work on a project. Those. the side (git, jira) of the process is also important, but if the organization successfully completes projects using ftp and there will be no questions like you replaced my new files with your own, and they were in the only form on the server. And there will also be no questions about security where someone with ftp will merge files onto a USB flash drive and take them home, then none of the clients will mind. And if there is a waterfall methodology instead of Agile, then the client can go to another office with Agile because this is a real bonus for the client and developers.
If everything is really bad, then as an extreme option, you can hire an experienced team lead with an experienced project manager who will set up the entire Agile process with Scrum methodologies, Kanban for you.
PS We also use NetBeans at work, but instead of ftp - git.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question