Mirroring sites - development-environment

what is the best way to mirror a site for development. My client has a fairly large site, half wordpress the other half custom php and I have to make fairly robust changes and would rather do it on development version.
Am I better of creating a sandbox on a separate server (?) what is the best way to do that if so?
Or just create a folder withing the same server?

Related

Liferay Cloud IDE, Multiple developpers working on same liferay server

We want to start working with liferay. But the server is too heavy and the developpers computer don't have enought RAM. We want to centralize the server instance.
In other words, we want to build a development server where all developpers can connect and directly develop in their web browser, compile, view the result and push the code to git repository.
I found some good cloud IDE like eclipse CHE and a good maven archetype for liferay projet. So i can build the projet with maven. But now i want to know if it is possible to configure Liferay like every developpers can work without troubling another. And if possible, How ?
The developpers can share the same database and can use different port. Maybe, the server can generate tempory URL like some online cloud editor.
I found this post Liferay With Multiple Server Instances, but i don't think is the best way because he create one server per project. I think is too heavy.
If necessary, We have kubernetes in our IS.
Liferay's tomcat bundle, by default, is configured to take a maximum of 2.5G for the process, but it can run with far less - the default only recently was bumped up, because many people never change the default and then wonder why production systems run out of memory. For 1 concurrent user (the sole developer) on a machine, I guess that the previous default of 1G heap space is enough. Are you saying that that's too much for your developers' machines?
Having many developers on a shared server poses one problem: Yes, you may deploy different code from different machines, but: How about setting a breakpoint? Can you connect with multiple debuggers? If something fails, how do you know whos recent deployment caused the failure?
Sharing a server is an integration technique, not a development technique. If your developers don't have enough memory available for running their own Liferay server next to their IDE, it's a lot cheaper to upgrade their machines than to slow them down when everybody is accessing the same server and they can't properly debug. You pay the memory once, but your waiting developers by the hour.
Is it possible to share one server? Sure it is.
Is it possible to share one server without troubling each other? I doubt.
When you say: You think it's too heavy: What are you basing that assumption on? What does the actual developer machine look like and what keeps you from investing in the extra memory?
It's trivial to share some infrastructure - i.e. have all of them connect to the same database server (and give everyone their own schema). But just the extra effort and setup might require you to pay the developers by the hour as much as you'd otherwise pay for a couple of memory chips.
And yet another option is: Run Liferay on a remote server, but keep 1 instance per developer. This way you don't need the local memory, but can have the memory in the cloud. Calculate if you pay more for remote cloud machines than for local memory - that decision is up to you.

Online development VS local development

I'm working on my first project in Odoo. If I understand correctly there are 2 ways to develop a project in Odoo: local development and online development.
I have an existing database but I'm wondering if it's best to develop the website locally or online. Or is this a totally different approach?
Is there an advantage to develop locally?
I don't know Odoo but normally programmers works on local because of easy to debug. Also if you are works online you have to change server files of all time, its waste of time especially huge projects.
Advantage of online is accessible of everywhere and also there is no hardware limitation.

How to rapidly publish web role cloud service, uploading only binaries, avoiding wholly restarting the VM?

Possible ways to accomplish it:
Creating dedicated WCF service for this purpose (currently my favorite option)
Using the REST API?
Azure PowerShell?
Explanation:
Publishing a web-role cloud-service takes about 10 minutes. It's much too long during development - I try to do as much as I can offline, unit-test-ish and modular, but it's just impossible to completely avoid development cycles altogether with the VM.
Apparently, the long time is mostly a result of the machine being wholly restarted, so I'm trying to find an automatic solution, like uploading and installing the binaries.
What is the best way to accomplish it?
What do you think? would it cut at least 50% of the publishing time?
Do you expect any critical problems?
The solutions proposed below are definitely against best practices and should NEVER-EVER be used in production environment.
If your objective is to quickly test your changes in your development environment, there are two ways you can go about it.
Enable RDP and copy your modified binaries or other files directly in the appropriate folders on the VM. You could enable Remote Desktop on your web role and copy the files manually in appropriate folders.
Use Web Deploy: This will only work for web roles in your project but you could enable Web Deploy on your Web Roles and use that to make faster deployment. Please see this link for more details on how to use this feature: https://msdn.microsoft.com/en-us/library/azure/ff683672.aspx.

Is there a general way to get difficulty from any cryptocurrency coin?

Is there a way to get the difficulty from any coin even if there isn't a blockchain site like http://blockchain.info/ (they have an API)? I need to access it programmatically and i want to have it from the source so ripping it from a site that already lists them all isn't an option. Im using a vps Ubuntu server so the ram and mainly the diskspace is limited hence, i cant have alot of blockchains installed on it.
Most if not all have daemons you can use. You can run the daemon on the server and make a request for it. They should all be similar to the php one.

Repository, live site, all in one same server

Honestly, I don't really know how to begin.
I have a live site in a VPS. My development flow is usually making changes on my local machine, then pushes to live via capistrano. I use git, but I don't really know the setup (as it was done by a friend). So I am not sure my git repo is local, or in the server.
Now I wanna do something more manageable. I want to use Redmine to track my development. Having said this, I would like to host my repo in the same server as my live server. This can give easy access to the other remote developers. Is it a good idea to host this repo in a same server?
Also, in future, I will need to have a unit test and functional test server. I reckon this should be separated from the live server right?
What is a good arrangement? Of course I am pretty tight with budget, and I don't wanna buy my own physical server.
Thanks.
I've hosted dev and live versions in the same VPS, e.g. dev.site.com. I usually make it basic auth to give at least a little privacy into its development. But if your source repository is also on the same VPS, then you need to have a standard backup process that gives you an off-VPS copy. You definitely don't want all your eggs in one basket.
For multi-developer use, you just need a repo that everyone can access. The dev instance is better split to the developer machines, plus a regular build cycle for dev version that includes everyone's changes. That would be your test/QA server. Unit tests can just be a local version.
Does that help? Not sure if this answer is as technical as you want.