feat: Deploy To Cloud - Livecycle Docker Extension
Tags: docker, cloud, development, devops
Published: 2024-01-25 13:11:12

In our recent blog post, "In-Flight Collaboration With The Livecycle Docker Extension," we introduced Livecycle's newest tool, the Livecycle Docker Extension. This extension allows developers to instantly share local development environments, facilitating early collaboration and feedback in the software development lifecycle.

It complements Livecycle's existing tools, offering multiple entry points into the development workflow. The key feature is enabling in-flight UI reviews and debugging, addressing challenges of delayed feedback. You can check out that blog 

{% embed https://dev.to/livecycle/in-flight-collaboration-with-the-livecycle-docker-extension-o3e %}

In the past, when you shared your work using Livecycle Docker Extension, everything ran locally—your application, tunnel, and more. This meant that as long as your system was up and running, the people you shared the URL with could access your work. It was great for short-term reviews.

**Now, we're taking it to the next level. With our latest update "Deploy to Cloud"**, you can deploy your applications on the cloud—be it AWS, GCP, Azure, or Kubernetes. This means the sharing process isn't limited to your local setup anymore; you can have an environment running for longer with more stability for long-term review and feedback, all happening in the cloud.

Let's see how you can use this amazing feature!

**Installing the extension**

Navigate to this [link](https://open.docker.com/extensions/marketplace?extensionId=livecycle/docker-extension) or search for "Livecycle" in the Docker Desktop Extensions Marketplace. Click the "Install" button to install the extension.

![Livecycle Docker Extension](https://github.com/livecycle/preevy/assets/51878265/e1960b89-0a9a-4641-8748-3e775555aa65)

**Setting up a Livecycle account**

Once you have installed the extension and opened it, you will be greeted with a login screen. You can choose to log in with your GitHub account or Google account. If you previously used Livecycle and created an organization, you can log in with your Livecycle account.

![Livecycle Docker Extension](https://github.com/livecycle/preevy/assets/51878265/8f996b07-797f-4633-b11e-bfcf902b17ab)

**Share to Cloud**

We can either deploy a fresh new environment directly to the cloud or deploy the existing local shared one to the cloud.

> Deploy a new shareable environment to the cloud

As soon as you log in, you will see a list of running Docker Compose applications. Click on the "Share" button below the app name. Choose the cloud option. After that, you will be prompted to choose a cloud provider. You can choose between AWS, GCP, and Azure, or use Kubernetes if you have a Kubernetes cluster. Make sure you have the credentials for the chosen cloud provider setup in your local system, for Kubernetes, the kubeconfig file.

![Livecycle Docker Extension](https://github.com/livecycle/preevy/assets/51878265/e44b5071-4014-4a6e-b59a-23cefee77908)

I will choose AWS as my cloud provider. As you can see, it asks for region, bundle ID, etc. You can leave the region as default or choose the region you want. Also, some columns are optional, so you can leave them blank. After that, click on the "Share" button to get the shareable URL. It will take some time to deploy and generate those URLs. 

![Livecycle Docker Extension](https://github.com/livecycle/preevy/assets/51878265/2ed52d3d-87ce-48eb-b4c8-1a0b1013144d)

Now you can see the environment is deployed to AWS, and you can access it using the shareable URL. You can also see the environment in the Livecycle dashboard. To access it click on the "Open Link" button to open the dashboard. On the dashboard, you can see all the running applications and services. The Livecycle dashboard requires authentication and organization membership, similar to private environments/services 

![Livecycle Docker Extension](https://github.com/livecycle/preevy/assets/51878265/c94b28d6-debc-471b-9621-82c73dbc79fe)

> Deploy an existing locally shared environment to the cloud

You can also deploy an existing local environment to the cloud. To do that, simply click on the three dots next to the environment name and click on the "Deploy" option. After that, you will be prompted to choose the cloud provider or if you don't get the prompt to choose the cloud provider, it will deploy to the provider you chose previously for the environment. In my case, I chose AWS previously, so it will deploy to AWS.

![Livecycle Docker Extension](https://github.com/Pradumnasaraf/candy/assets/51878265/b350d3a9-4e8c-4236-a28b-88cf4a7a95c5)

After that, a new environment will be created with the same name as the local environment. So, now you have two environments, one local and one cloud. To ensure the environment is deployed to the cloud, you can see the cloud icon next to the environment name. You can also see the environment in the Livecycle dashboard like we did above

![Livecycle Docker Extension](https://github.com/Pradumnasaraf/candy/assets/51878265/a624018b-0261-46f6-94eb-b32fe1e019f7)

Certainly! Here's the corrected version:

If you are experiencing any issues or wish to provide feedback, feel free to join the [Livecycle Community](https://community.livecycle.io) on Slack. Additionally, please visit [livecycle.io](https://livecycle.io/?utm_source=devto&utm_medium=article&utm_campaign=livecycle) to learn more about Livecycle and find more details.