0

I'm trying to deploy a ShinyProxy in a Docker container to Azure. Also, I have the ShinyApp repositories in Azure DevOps. Every time a developer updates the code in a repository, I want to the CD/CI deploy the new code creating a Docker container to Azure.

Also, I think, I have to create an internal Docker network between the ShinyProxy and the app.

How can I create this process? Is there any tutorial how to setup a pipeline in Azure DevOps and run a ShinyProxy on Azure?

Enrico
  • 3,592
  • 6
  • 45
  • 102
  • Hi @Enrico, how are things going? Is my suggestion helpful to you? Please have a try with it, and any progress, feel free to tell me. – Bright Ran-MSFT Jan 29 '21 at 06:27

2 Answers2

2

After a lot of research and study, I found how to create a full end-to-end deployment. I have created a complete step-by-step guide in my blog.

I hope it could help other guys.

Enrico
  • 3,592
  • 6
  • 45
  • 102
1

Do you want to deploy your app to Azure Container Registry?

If so, below are the main steps you need to do:

  1. Create a container registry on the Azure Portal.

  2. Create a Docker registry service connection on the project settings to enable your pipeline to push images into the container registry.

  3. Create the pipeline that gets source from your repository.

  4. Add the Docker task in the pipeline,

    • select the Docker registry service connection created in above step as the 'Container registry'.
    • select 'buildAndPush' as the 'command'.

To view more details, you can reference to "Build and push to Azure Container Registry".

Bright Ran-MSFT
  • 5,190
  • 1
  • 5
  • 12
  • Thank you for your reply. Yes, I'm using Azure Registry. My issue is related to ShinyProxy because I have to deploy the ShinyProxy and the app in 2 different container and then create a network between them. Generally speaking, ShinyProxy serves more than one ShinyApp. – Enrico Jan 20 '21 at 09:08
  • Hi @Enrico, you can try to set up the container job (or service containers) in your pipeline. The containers you set on a job are networked together so that they can reach each other by their services name. To view more details, you can see "[**Define container jobs**](https://learn.microsoft.com/en-us/azure/devops/pipelines/process/container-phases?view=azure-devops)" and "[**Service containers**](https://learn.microsoft.com/en-us/azure/devops/pipelines/process/service-containers?view=azure-devops&tabs=yaml)". – Bright Ran-MSFT Jan 21 '21 at 09:12