Pages: [1] 2 :: one page |
|
Author |
Thread Statistics | Show CCP posts - 4 post(s) |
Vaerah Vahrokha
Vahrokh Consulting
5263
|
Posted - 2014.03.07 16:56:00 -
[1] - Quote
Hello,
I am asking about this here, because this is an EvE related project and because I know a lot of EvE players are competent developers.
I need to setup a large-ish EvE website on a VPS. I know and have done in the recent past the whole "Create Ubuntu VPS from scratch, install everything from daemons, PHP, MySQL, Nginx" (yeah! ) and so on and on. I have also coded in many languages including PHP, Python (a bit) etc. But always alone, always "develop => deploy => done forever".
What I am missing is this: this time I might not be the lone developer and I need to setup a development environment that can be brought to production.
That is, I'd like to develop stuff on say NetBeans (or other editor), upload it to the server in a development environment and test it out.
Once it passes the unit tests I'd like to start some script or anything and see the development version of the website "magically" update over the production one, possibly also update the MySQL database and end up with a working production site.
I am asking you, the Estimated EvE Developers for hints about how to get this done in a reasonable and as much automated way.
The project will have for sure:
- MySQL database - A lot of PHP code - Possibly Python code - Possibly Mono code - Possibly some C code
I am expecially interested into the PHP side of things, since it'll make for 90% of the website.
Thanks in advance. Auditing | Collateral holding and insurance | Consulting | PLEX for Good Charity
Twitter channel |
Steve Ronuken
Fuzzwork Enterprises Vote Steve Ronuken for CSM
2796
|
Posted - 2014.03.07 17:18:00 -
[2] - Quote
composer will help a great deal.
Along with storing your code in Git.
Build it in libraries which you include into your main project with composer, with the referencing being handled by packagist so you can run a 'composer update' to grab the latest release versions of the library (but not the trunk)
Then deployment of the main code is switching the git tag, and updating to it.
Automagically updating the database will be painful
Steve Ronuken for CSM 9! https://forums.eveonline.com/default.aspx?g=posts&m=4236322 http://www.fuzzwork.co.uk/ Twitter: @fuzzysteve on Twitter |
Devilen
Killing is Business Get Off My Lawn
24
|
Posted - 2014.03.07 17:29:00 -
[3] - Quote
I agree with Steve with everything he said. I am working on a few different projects in and out of Eve and composer is a good start and git is a must have in my book. The database is going to be a pain if you are wanting to do it automagically only because of all the things that could go wrong you would take forever to program for them but it is not impossible.
First thing is find out what you want to create and then work on it and go at a pace you can maintain is the last thing I could advise on this matter. You could also see about joining any of the projects currently in progress if anyone is looking for help but that is all up to you. |
Vaerah Vahrokha
Vahrokh Consulting
5263
|
Posted - 2014.03.07 19:08:00 -
[4] - Quote
Thank you to both of you!
I am quite inexperienced in the git / composer stuff. The last time I have used a source code control, it has been SVN.
There's a missing link in what you said (or maybe not, I just don't see it): the testing.
I mean, at the moment I am doing this:
1) I write code in my Windows box. I don't have a development environment, because I have many daemons and processes that are hard to replicate in Windows. I code from different computers in different locations. Such is life when you are a RL securities trader who develops at home but also on the beach and wherever else
2) So when I save, NetBeans uploads the code to a (series of) folders on the Ubuntu box.
3) These folders are the production tree so I am basically coding on the "live" website. In reality it's not live yet, since the website is not published anywhere.
4) I run unit tests (also in a folder in there), mainly through PHPUnit, they test the production tree.
5) Once tests pass I can see the website by going to the ip address or FQDN of the website.
And I need to switch to this:
1) Write code like at point 1 above. Possibly done by more than 1 person.
2) The code goes in a development tree. I suppose I can make a sister directory to "public_html" called "dev_html" or similar and make the saved code go there.
3) I need to make the development code point to a development database (I won't also spawn a dedicated development database server instance).
4) Once I have saved my stuff on that development tree I need a way to make it "show" in something like: "dev.domain.tld". I will put a password on it of course.
Basically I want to see the stuff working, BEFORE I make it merge onto the production version.
5) Only then, I would use something (you suggest git) to deploy development to production.
How do I cover all these steps? Am I missing something? Auditing | Collateral holding and insurance | Consulting | PLEX for Good Charity
Twitter channel |
Steve Ronuken
Fuzzwork Enterprises Vote Steve Ronuken for CSM
2798
|
Posted - 2014.03.07 19:31:00 -
[5] - Quote
The main difference between git and svn, is that you don't check out a particular revision from git. You clone the /entire/ repository. So you can do all your commits locally, then push them when you're happy, to the central copy.
If what you're doing is open source, take a look at https://scrutinizer-ci.com/ which can do some of the code coverage steps, as well as making sure you're sticking to the standard you've set. php mess detector is also handy, as is phpcs for local code standard checks.
Most of my coding is done in vim, using ssh to access my server.
composer is pretty simple to work with. you define your composer.json file, which will grab down the appropriate libraries, and create your module loader. Dependency management is always nice
Steve Ronuken for CSM 9! https://forums.eveonline.com/default.aspx?g=posts&m=4236322 http://www.fuzzwork.co.uk/ Twitter: @fuzzysteve on Twitter |
Devilen
Killing is Business Get Off My Lawn
24
|
Posted - 2014.03.07 19:56:00 -
[6] - Quote
Well lets see if I might be able to help clear this up for you.
Testing - I have 2 types of sites with my work. One is the main (Live site) the other is a testing site. Most my testing sites are a subdomain off main my domain e.g. dev.example.com. The way this gets tested is everyone who goes to it knows the data could be deleted/removed at any time without reason.
Currently at the moment I see your saying you write code on many devices or just one? Because I personally use 4 devices all of them are using Git so you can imagine all the commits I have in my git Repo. I am not a fan of netbeans but if you understand it awesome! I use Sublime text 2 and that helps me keep my environment from one device to the next with its own project plan configuration.
With git you need to not use it like you did SVN....You use Tags and branches in git where SVN used Folders. I will have a Develop branch on my git repo to break apart what is available for the live site and for the development site. From there I have a post-commit hook to push all the changes to my development site then i go do some testing then if it works i merge the branch into the live production branch of my git server and it pushes to my live site.
If you need help feel free to hit me up in game or eve mail me. |
Manhim
Cyan Ventures The Serenity Initiative
4
|
Posted - 2014.03.07 20:40:00 -
[7] - Quote
I use Doctrine to manage most of my MySQL databases.
Using the "updateSchema" tool it can update your database structure to another one. It's also cool to make a first instance deployment easily.
So my updates chaining is like this (I'm using bitbucket and mercurial mainly, but those exemples are achievables through other VCS):
- I "hg pull; hg update" on my master branch (Which is always stable) - I "hg archive" to another folder (removes the hg-related stuff) - Then I edit the configuration files (They are different from production to development) - I backup my database. - Then I move the outdated instance's folder elsewhere (Nice to have a backup!) - I move the updated version in it's place - Then I run the update script (Can be automated) - The update script updates the schema (Doctrine) - Then it verifies the default values. If there was a change in them (Like I added a new column) it updates the row with the new values [no values are bound to a hard-coded id, this is important, they can be matched by other unique columns]. - Then it runs some additional updates like if I added a new column to a table but there needs to be data in it.
Half of this can be automated through a simple script.
This method is cool because I can run multiple instances and easily update between them. (Mostly testing instances)
- Development instance (I do my programming work with this one) - Testing instance (I do an update like I would've on the Production instance, then run tests and make manual testings) - Production instance
Edit: Composer is a great tool to use. Saved me lots of time managing 3rd party libraries or even my own libraries (that I put on Packagist). |
Vaerah Vahrokha
Vahrokh Consulting
5263
|
Posted - 2014.03.08 14:53:00 -
[8] - Quote
Thank you again, very much!
I think Devilen's approach is the most similar to what I intend to do.
It looks like I'll have to install git and see how it works, it's still not clear (to me) how it's meant to get files in from me and then check them out to development (and later production). But I'll learn.
Thanks also for the database tips, I'll see how much time that approach takes to be implemented. Auditing | Collateral holding and insurance | Consulting | PLEX for Good Charity
Twitter channel |
|
CCP FoxFour
C C P C C P Alliance
2962
|
Posted - 2014.03.08 15:10:00 -
[9] - Quote
Threads like this make me feel all warm and fuzzy inside. CCP FoxFour // Game Designer @regnerba |
|
Steve Ronuken
Fuzzwork Enterprises Vote Steve Ronuken for CSM
2800
|
Posted - 2014.03.08 15:15:00 -
[10] - Quote
Vaerah Vahrokha wrote:Thank you again, very much!
I think Devilen's approach is the most similar to what I intend to do.
It looks like I'll have to install git and see how it works, it's still not clear (to me) how it's meant to get files in from me and then check them out to development (and later production). But I'll learn.
Thanks also for the database tips, I'll see how much time that approach takes to be implemented.
To transfer files with Git:
Clone the repository to all three locations. (one off step)
Commit in your development environment. Push them to your master repository Pull them to your test environment
When you're happy, create a new tag in your master repository. check out that tag to your live environment. Steve Ronuken for CSM 9! https://forums.eveonline.com/default.aspx?g=posts&m=4236322 http://www.fuzzwork.co.uk/ Twitter: @fuzzysteve on Twitter |
|
|
CCP FoxFour
C C P C C P Alliance
2963
|
Posted - 2014.03.08 18:03:00 -
[11] - Quote
Steve Ronuken wrote:Vaerah Vahrokha wrote:Thank you again, very much!
I think Devilen's approach is the most similar to what I intend to do.
It looks like I'll have to install git and see how it works, it's still not clear (to me) how it's meant to get files in from me and then check them out to development (and later production). But I'll learn.
Thanks also for the database tips, I'll see how much time that approach takes to be implemented. To transfer files with Git: Clone the repository to all three locations. (one off step) Commit in your development environment. Push them to your master repository Pull them to your test environment When you're happy, create a new tag in your master repository. check out that tag to your live environment.
Do you push to live manually then based on tag? This thread and discussion interests me greatly. My newest git setup is: master, development, and then a feature branch. Whenever I push to master so long as the tests pass it gets auto pushed to my live server. Development goes to my testing server. Thats me and my crazy though for personal projects. CCP FoxFour // Game Designer @regnerba |
|
Steve Ronuken
Fuzzwork Enterprises Vote Steve Ronuken for CSM
2800
|
Posted - 2014.03.08 18:07:00 -
[12] - Quote
CCP FoxFour wrote:Steve Ronuken wrote:Vaerah Vahrokha wrote:Thank you again, very much!
I think Devilen's approach is the most similar to what I intend to do.
It looks like I'll have to install git and see how it works, it's still not clear (to me) how it's meant to get files in from me and then check them out to development (and later production). But I'll learn.
Thanks also for the database tips, I'll see how much time that approach takes to be implemented. To transfer files with Git: Clone the repository to all three locations. (one off step) Commit in your development environment. Push them to your master repository Pull them to your test environment When you're happy, create a new tag in your master repository. check out that tag to your live environment. Do you push to live manually then based on tag? This thread and discussion interests me greatly. My newest git setup is: master, development, and then a feature branch. Whenever I push to master so long as the tests pass it gets auto pushed to my live server. Development goes to my testing server. Thats me and my crazy though for personal projects.
Well, /I/ don't/ But that's because I'm bad and tend to just do my development on my live environment Though for the libraries I develop, I use tags for versions. Mostly because packagist tracks the trunk for development versions, and uses tags for release versions. Steve Ronuken for CSM 9! https://forums.eveonline.com/default.aspx?g=posts&m=4236322 http://www.fuzzwork.co.uk/ Twitter: @fuzzysteve on Twitter |
Desmont McCallock
367
|
Posted - 2014.03.08 21:29:00 -
[13] - Quote
I would recommend bitbucket and Git as code host and VCS system. I have EVEMon on bitbucket but with Hg and we use GitHub and Git at work. Bitbucket gives you free private repo (you have to pay for that in GitHub) and Git is more flexible than Hg. |
Desmont McCallock
367
|
Posted - 2014.03.08 21:33:00 -
[14] - Quote
CCP FoxFour wrote:Steve Ronuken wrote:Vaerah Vahrokha wrote:Thank you again, very much!
I think Devilen's approach is the most similar to what I intend to do.
It looks like I'll have to install git and see how it works, it's still not clear (to me) how it's meant to get files in from me and then check them out to development (and later production). But I'll learn.
Thanks also for the database tips, I'll see how much time that approach takes to be implemented. To transfer files with Git: Clone the repository to all three locations. (one off step) Commit in your development environment. Push them to your master repository Pull them to your test environment When you're happy, create a new tag in your master repository. check out that tag to your live environment. Do you push to live manually then based on tag? This thread and discussion interests me greatly. My newest git setup is: master, development, and then a feature branch. Whenever I push to master so long as the tests pass it gets auto pushed to my live server. Development goes to my testing server. Thats me and my crazy though for personal projects. How do you do that CCp FoxFour? via a CI (continuous integration) platform? We use TeamCity for EVEMon and have set a release process and a snapshot one.
|
Desmont McCallock
367
|
Posted - 2014.03.08 21:34:00 -
[15] - Quote
CCP FoxFour wrote:Steve Ronuken wrote:Vaerah Vahrokha wrote:Thank you again, very much!
I think Devilen's approach is the most similar to what I intend to do.
It looks like I'll have to install git and see how it works, it's still not clear (to me) how it's meant to get files in from me and then check them out to development (and later production). But I'll learn.
Thanks also for the database tips, I'll see how much time that approach takes to be implemented. To transfer files with Git: Clone the repository to all three locations. (one off step) Commit in your development environment. Push them to your master repository Pull them to your test environment When you're happy, create a new tag in your master repository. check out that tag to your live environment. Do you push to live manually then based on tag? This thread and discussion interests me greatly. My newest git setup is: master, development, and then a feature branch. Whenever I push to master so long as the tests pass it gets auto pushed to my live server. Development goes to my testing server. Thats me and my crazy though for personal projects. How do you do that CCp FoxFour? via a CI (continuous integration) platform? We use TeamCity for EVEMon and have set a release process and a snapshot one.
|
|
CCP FoxFour
C C P C C P Alliance
2965
|
Posted - 2014.03.09 09:58:00 -
[16] - Quote
Desmont McCallock wrote:I would recommend bitbucket and Git as code host and VCS system. I have EVEMon on bitbucket but with Hg and we use GitHub and Git at work. Bitbucket gives you free private repo (you have to pay for that in GitHub) and Git is more flexible than Hg.
Yea I use Bitbucket personally as well with Git, they work pretty well for me and my one man projects. CCP FoxFour // Game Designer @regnerba |
|
|
CCP FoxFour
C C P C C P Alliance
2965
|
Posted - 2014.03.09 10:02:00 -
[17] - Quote
Desmont McCallock wrote:CCP FoxFour wrote:Steve Ronuken wrote:Vaerah Vahrokha wrote:Thank you again, very much!
I think Devilen's approach is the most similar to what I intend to do.
It looks like I'll have to install git and see how it works, it's still not clear (to me) how it's meant to get files in from me and then check them out to development (and later production). But I'll learn.
Thanks also for the database tips, I'll see how much time that approach takes to be implemented. To transfer files with Git: Clone the repository to all three locations. (one off step) Commit in your development environment. Push them to your master repository Pull them to your test environment When you're happy, create a new tag in your master repository. check out that tag to your live environment. Do you push to live manually then based on tag? This thread and discussion interests me greatly. My newest git setup is: master, development, and then a feature branch. Whenever I push to master so long as the tests pass it gets auto pushed to my live server. Development goes to my testing server. Thats me and my crazy though for personal projects. How do you do that CCp FoxFour? via a CI (continuous integration) platform? We use TeamCity for EVEMon and have set a release process and a snapshot one.
Yea, I have my privately self hosted Jira/Bamboo/Confluence/Jira Agile server. Works well enough for me. CCP FoxFour // Game Designer @regnerba |
|
Shellac Brookdale
Cutting Edge Incorporated RAZOR Alliance
12
|
Posted - 2014.03.09 10:17:00 -
[18] - Quote
Instead of creating a shared development environment on your server I highly recommend setting up a vagrant environment instead. This allows all developers to host their own development VM. With vagrant all you need to do is to create a script that will bootstrap a vanilla e.g. ubuntu image with all server components you need. Afterwards you just need to send the vagrant config to the developers to allow them replicate the dev system. |
Hel O'Ween
Men On A Mission
63
|
Posted - 2014.03.09 21:06:00 -
[19] - Quote
Steve Ronuken wrote: To transfer files with Git:
Clone the repository to all three locations. (one off step)
Commit in your development environment. Push them to your master repository Pull them to your test environment
When you're happy, create a new tag in your master repository. check out that tag to your live environment.
Well, that's some useful info there. I just started using Git and was wandering of how to set up my workflow. EVEWalletAware - an offline wallet manager. |
Pew Terror
Green Associates
113
|
Posted - 2014.03.09 21:35:00 -
[20] - Quote
It is hard to make suggestions with the given parameters. There already have been a couple of generic suggestions (tagging/branching vs CI environments vs isolation containers (docker/vagrant)). It pretty much depends what you mean by "big" (as in data or processing power or bandwidth).
Personally i would also stay away from PHP and start off with scalable technology (like node.js or azure). |
|
Steve Ronuken
Fuzzwork Enterprises Vote Steve Ronuken for CSM
2806
|
Posted - 2014.03.09 21:48:00 -
[21] - Quote
Pew Terror wrote:It is hard to make suggestions with the given parameters. There already have been a couple of generic suggestions (tagging/branching vs CI environments vs isolation containers (docker/vagrant)). It pretty much depends what you mean by "big" (as in data or processing power or bandwidth).
Personally i would also stay away from PHP and start off with scalable technology (like node.js or azure).
PHP can do just fine. I might not suggest learning it, if you don't already know it, due to a bunch of the inconsistancies, but it has one significant benefit: It's available pretty much everywhere.
Same reason for using MySQL over Postgres.
(php is also easier for some people to grasp. Just embedding the php directly into your pages to put stuff where it needs to be. It's not good for readability, but it's easy. These days my new stuff is using Smarty for layouts in php. Though for some /simple/ stuff, I don't bother complicating it that way.) Steve Ronuken for CSM 9! https://forums.eveonline.com/default.aspx?g=posts&m=4236322 http://www.fuzzwork.co.uk/ Twitter: @fuzzysteve on Twitter |
Vaerah Vahrokha
Vahrokh Consulting
5268
|
Posted - 2014.03.09 23:35:00 -
[22] - Quote
Pew Terror wrote:It is hard to make suggestions with the given parameters. There already have been a couple of generic suggestions (tagging/branching vs CI environments vs isolation containers (docker/vagrant)). It pretty much depends what you mean by "big" (as in data or processing power or bandwidth).
Personally i would also stay away from PHP and start off with scalable technology (like node.js or azure).
Facebook has been "powered by PHP" for a long while and when they scaled it up they implemented a better compiler. If they can do that, then I can certainly afford using it on a hobby sized project. Auditing | Collateral holding and insurance | Consulting | PLEX for Good Charity
Twitter channel |
Vaerah Vahrokha
Vahrokh Consulting
5268
|
Posted - 2014.03.09 23:38:00 -
[23] - Quote
Steve Ronuken wrote:Pew Terror wrote:It is hard to make suggestions with the given parameters. There already have been a couple of generic suggestions (tagging/branching vs CI environments vs isolation containers (docker/vagrant)). It pretty much depends what you mean by "big" (as in data or processing power or bandwidth).
Personally i would also stay away from PHP and start off with scalable technology (like node.js or azure). PHP can do just fine. I might not suggest learning it, if you don't already know it, due to a bunch of the inconsistancies, but it has one significant benefit: It's available pretty much everywhere. Same reason for using MySQL over Postgres. (php is also easier for some people to grasp. Just embedding the php directly into your pages to put stuff where it needs to be. It's not good for readability, but it's easy. These days my new stuff is using Smarty for layouts in php. Though for some /simple/ stuff, I don't bother complicating it that way.)
PHP got decently modern constructs. When I used PERL and Python I found their syntax to be harder to type "right at the first time" stuff (maybe because I started with Kernigan and Ritchie C looooooooong ago and then passed to C++).
With PHP I feel in a "big Linux family" along with GCC / G++, PHP, Mono, Java and Javascript sharing the syntax flavour. Auditing | Collateral holding and insurance | Consulting | PLEX for Good Charity
Twitter channel |
Pew Terror
Green Associates
113
|
Posted - 2014.03.10 00:49:00 -
[24] - Quote
Vaerah Vahrokha wrote:Steve Ronuken wrote:Pew Terror wrote:It is hard to make suggestions with the given parameters. There already have been a couple of generic suggestions (tagging/branching vs CI environments vs isolation containers (docker/vagrant)). It pretty much depends what you mean by "big" (as in data or processing power or bandwidth).
Personally i would also stay away from PHP and start off with scalable technology (like node.js or azure). PHP can do just fine. I might not suggest learning it, if you don't already know it, due to a bunch of the inconsistancies, but it has one significant benefit: It's available pretty much everywhere. Same reason for using MySQL over Postgres. (php is also easier for some people to grasp. Just embedding the php directly into your pages to put stuff where it needs to be. It's not good for readability, but it's easy. These days my new stuff is using Smarty for layouts in php. Though for some /simple/ stuff, I don't bother complicating it that way.) PHP got decently modern constructs. When I used PERL and Python I found their syntax to be harder to type "right at the first time" stuff (maybe because I started with Kernigan and Ritchie C looooooooong ago and then passed to C++). With PHP I feel in a "big Linux family" along with GCC / G++, PHP, Mono, Java and Javascript sharing the syntax flavour.
Dont get me wrong, PHP is a powerful language for the reasons mentioned. Hell, personally i deploy a lot of solutions powered by VBA because it is used in what is most certainly the biggest IDE deployment on the planet (MS Office, please dont hit me!). I just feel that if you are starting from scratch the newer tech is actually a lot of joy to use and it brings a lot of scalability built in.
|
Sentient Blade
Crisis Atmosphere
1200
|
Posted - 2014.03.10 01:06:00 -
[25] - Quote
PHP scalability is all down to programmer skill and experience. You can make hideous code which runs at a snails pace, or you can have it run along at lightning speed.
Helps if your server is set up right too, if you've not got opcode caching enabled you're doing it wrong (huge speed boosts). |
Aatrek's School Bus
8
|
Posted - 2014.03.10 15:13:00 -
[26] - Quote
unfortunately nodejs lacks the third party library support to be able to do anything more useful than "run a socket.io server" or "look ma im a webserver" so it's not really a tenable option for modern development
meanwhile php has a wealth of libraries from composer and multiple solid frameworks to use (avoid cakephp at all costs) and has more than one developer in a given 100 km radius
that being said, any given eve project is probably just a hobby project so if you wanna use nodejs go hog wild, it is kinda fun to mess with, but writing off php because you saw a code snippet posted one time and it was horrible is a pretty awful reason |
Vaerah Vahrokha
Vahrokh Consulting
5269
|
Posted - 2014.03.10 15:29:00 -
[27] - Quote
Steve Ronuken wrote:Vaerah Vahrokha wrote:Thank you again, very much!
I think Devilen's approach is the most similar to what I intend to do.
It looks like I'll have to install git and see how it works, it's still not clear (to me) how it's meant to get files in from me and then check them out to development (and later production). But I'll learn.
Thanks also for the database tips, I'll see how much time that approach takes to be implemented. To transfer files with Git: Clone the repository to all three locations. (one off step) Commit in your development environment. Push them to your master repository Pull them to your test environment When you're happy, create a new tag in your master repository. check out that tag to your live environment.
How would you manage the transition to the current unversioned production setup to your scenario?
As of now here's how it goes:
1) Files are edited in Windows (in Netbeans, it's the one I made to work with XDebug the easiest). 2) Saving files makes Netbeans FTP upload them directly in the production site, directly in place.
This approach has its sea of shortcomings (which this thread would exactly want to fix) but one big good point: it does not mess up neither files and directories ownership nor their attributes. Netbeans does a good job at preserving those even when uploading a new version over the previous.
What I have experienced in the past, instead, is having commits / check outs happily devastating directory attributes, fixing the ownerships they wanted and so on. I can't afford this, as the whole website would stop working.
Said what I fear the most, I list what I'd want the setup to become:
1) Files are edited in Windows as above. 2) Saving files makes Netbeans upload them somewhere on the server. I'll use the "somewhere" term as general placeholder for one directory of choice. If I understand correctly this would be a copy of current production imported into a git repository somewhere. 3) In this somewhere I can commit the uploaded files and then tell somehow tell git to post the committed repository to development. 4) Repeat 1-3 till ready to go in production. 5) I somehow tell git to post the somewhere repository on production (I suppose it'll replace the current production files?)
Is the above more or less correct? Auditing | Collateral holding and insurance | Consulting | PLEX for Good Charity
Twitter channel |
Devilen
Killing is Business Get Off My Lawn
24
|
Posted - 2014.03.10 17:26:00 -
[28] - Quote
Wow go away for a weekend come back and many more posts!
@Vaerah:
First what you need to do is make your repo then check everything you have into the Repo so you have a starting point. From there if you are going to follow the method I have you would then make a branch and call it develop or something you want that will tell you its the development branch. You work off that branch till you have your code the way you want it to look and it works how you want and merge it over into master and Tag it with a version number if you want or something else to state what that release is.
I can go into detail with how I deploy to a site with a git repo if you would like but it is a bit long so I could just post a link for you. Now does your files have set permissions on some of them or they have to be owned by set users for it to work properly? If so you might have to make some git hooks to apply the permissions and ownership but that is not hard to do at all.
So what you would do is you can keep netbeans updating the FTP To your development site if you want but you would need to do a git add, git commit, and git push to get all your data up to the git repo and on the branch you wanted. Then with the use of a few git tricks and a git POST hook you can have it take a commit to production and place it into the directory you want it to go into.
Also with 70M of data thats not much one of my repos is about 400M and my work repo is 7G in size. the 400M repo takes about 2 minutes to pull down, based off internet speed, and the 7G repo takes 11 minutes to copy down, if the network is not busy.
The best part about git is it does things in Increments so if the data is already in the repo it will not copy it back to the repo which in turn will save a lot of space for the Repo. It will take little bit longer for the data to be placed back in order properly but for the most part it is a major improvement over SVN or CVS.
It looks to see the modified time and hash of the file to see if it is been changed. On the 7G repo it scan for modifications never took more then a few minutes like 2-3 minutes at most when it was around a 2GB change.
Let me know if you have any other questions I will gladly answer to the best of my knowledge. |
Lors Dornick
Kallisti Industries Solar Assault Fleet
1020
|
Posted - 2014.03.11 03:53:00 -
[29] - Quote
Steve Ronuken wrote: Same reason for using MySQL over Postgres.
I prefer PHP and Postgres, but that's mainly because I'm a diehard BSD head and I loathe anything connected to that cheap Finnish copy of a real OS that is called Linux.
Or maybe it's just that I wanna feel special ;)
Vote for Fuzzy Steve! https://forums.eveonline.com/default.aspx?g=posts&m=4236322
|
Steve Ronuken
Fuzzwork Enterprises Vote Steve Ronuken for CSM
2820
|
Posted - 2014.03.11 11:07:00 -
[30] - Quote
Lors Dornick wrote:Steve Ronuken wrote: Same reason for using MySQL over Postgres.
I prefer PHP and Postgres, but that's mainly because I'm a diehard BSD head and I loathe anything connected to that cheap Finnish copy of a real OS that is called Linux. Or maybe it's just that I wanna feel special ;)
I'm using Postgres in a few places myself. Mostly because mysql lacks window functions. Writing the sql is a little more painful though, due to the need for quoting all the identifiers, when they're case sensitive. Steve Ronuken for CSM 9! https://forums.eveonline.com/default.aspx?g=posts&m=4236322 http://www.fuzzwork.co.uk/ Twitter: @fuzzysteve on Twitter |
|
|
|
|
Pages: [1] 2 :: one page |
First page | Previous page | Next page | Last page |