With RunCloud you can deploy your code either by configuring webhooks in either Git deployment or Atomic Deployment. These two methods have different advantages and disadvantages, depending on the size and complexity of your project.

Git deployment is a simple and fast way to update your code from a git repository. However, it has some drawbacks.

For example, if you run a composer update to install new libraries, your live web app will be affected during the installation process. Your users might see errors, or experience downtime while the update is happening.

Also, git deployment only works for one web app on one server. If you have multiple web apps or servers behind a load balancer, you’ll need to update them separately.

Atomic deployment is a more advanced and reliable way to update your code without affecting your live web app. It works by creating a new release folder in the background, installing the dependencies, and then switching the active release folder to the new one.

In this way, your users will not notice any changes or interruptions while the update is happening. Atomic deployment also allows you to update multiple web apps on different servers at once. This is very useful for applications that need to scale and balance the load.

Both Git and Atomic deployment methods can run deployment scripts to customize the update process. However, Atomic deployment has more flexibility and control over the scripts. It allows you to run scripts at three different stages:

  • When cloning the new release from the git repository.
  • When installing the composer dependencies for the new release.
  • When activating the new release as the current one.