Deploy Web App with CDN, add Custom Domain with TLS ( WordPress and MySQL)

Λοιπόν, θα παρατηρήσετε ότι η προτίμησή μου για τις αναπτύξεις Azure είναι το Azure DevOps και το Azure Repos. Η συγκεκριμένη ανάπτυξη λοιπόν είναι παράδειγμα με μπόνους! Προσθέστε τον προσαρμοσμένο τομέα σας με ένα πιστοποιητικό που παρέχεται στο Azure και θα το έχετε! Ο ιστότοπός σας έτοιμος να λειτουργήσει με ολοκαίνουργιο HTTPS! Θα χρησιμοποιήσουμε επίσης κανόνες CDN για να εξαναγκάσουμε το HTTPS!

Πρώτα από όλα θα πρέπει να δημιουργήσουμε έναν Οργανισμό και ένα Έργο https://dev.azure.com/

Κατεβάστε τα αρχεία από:

https://github.com/Azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.cdn/cdn-with-web-app

Πριν από οτιδήποτε, πρέπει να δημιουργήσουμε τη Σύνδεση υπηρεσίας, επομένως από τις Ρυθμίσεις έργου Azure DevOps, τις Συνδέσεις Υπηρεσιών, ας δημιουργήσουμε μια σύνδεση Azure Resource Manager:

Επιλέξτε Υπεύθυνος υπηρεσίας, είτε έχετε ήδη έναν ρόλο Υπεύθυνου υπηρεσίας με Συνεργάτη είτε μπορείτε να το κάνετε από εδώ. Μην ξεχάσετε να προσθέσετε τον Ρόλο RBAC στους Ρόλους Azure-Συνδρομές-IAM, εάν επιλέξετε αυτόματη.

Ας εισάγουμε το πρότυπό μας σωστά; Οπου ? Μεταβείτε στο Repos, δημιουργήστε ένα repo, προσθέστε ένα Readme.txt ή οποιοδήποτε άλλο κενό αρχείο. Στη συνέχεια, μπορείτε να ανεβάσετε τον κωδικό σας ή να εισαγάγετε από το GitHub, στην περίπτωσή μας έχουμε δημιουργήσει έναν φάκελο και έχουμε ανεβάσει τα αρχεία μας:

Ανεβάστε τα αρχεία σας

For any project that is private or public, the size of the repo should not be greater than 250GB

Now lets create the deployement pipeline! From Pipelines , select Releases , add new Release Pipeline and from there select your artifact , which will be the Azure Repo Folder with the default values:

I prefer to change the Alias and remove the underscore

Then we must create the actual Job, so click the highlighted 1 job, 0 Tasks and there we must select the machine which will run the Code for us, this time Select Azure Pipelines and Windows Latest.

We can deploy our own VMs or Scale Sets for more complex and demanding Tasks.

Select Azure Pipelines, Windows Latest and leave default settings

Click the + Plus icon, and Search for ARM Template Deployment and add it.Can you see in this image that we can change the Release name ? It is editable just click and write the name of your choice, on the upper left corner of the Pipeline.

Select the Service Connection, Subscription , add a new Resource Group or select an existing one, select location and add the file from the dotted menu, from our folder we uploaded our files. Notice the artifact name on the root menu. Deployment mode must stay Incremental, and you can give a deployment name which later we will observe on the Resource Group Deployments option from Azure Portal.

Add a Task by clicking the + {Plus} sign next to the Agent Job

This is how our release Pipeline will look like. We can override Template parameters as you can see , for now select Save you may add an optional comment and create a release just click Create. If you select the option “Stages for a trigger change from automated to manual.”, we must manually select Deploy from the Pipelines menu.

From the Pipelines menu we can observe logs and how it is deployed. At the same time there is a deployment running on Azure :

The Resource Group Deployments Menu shows our deployment

Our Deployment is complete, a WebApp with MySQL backend and a CDN Endpoint so let’s explore this one!

From the FrontDoor/CDN Profiles selection , click on the newly generated endpoint. There we can see the option Custom Domain. It is time to click it and cerate a CNAME for our Website e.x “webapps.customdomain.site” pointing to the endpoint we are presented.

If the Custom Domain has not enabled Custom HTTPS , open it and turn it on, select CDN Managed , and click save. If your CNAME is replicated on time, the CDN will add the Certificate for you site to enable HTTPS! Pretty cool right ? And we are not done, just a final touch to force only HTTPS from the CDN Rules Engine !

The process can take a few minutes. Once it is finished we have our Custom Domain protected with CDN Certificate, and we can make our final touches, using the CDN Rules Engine. Select the endpoint from Front Door\CDN Profiles and go to Rules Engine.

CDN Endpoint Rules Engine adds a lot of flexibility to our Web Application

There are a lot of Options and flexibility for your URLs with the Rules Engine. Below is the guide to Redirect-Force HTTPS, from the Official Documentation

Test your deployment, add the /wp-admin after the URL to deploy the WordPress engine and start building your sites!

I believe this is a smooth introduction to Azure DevOps Pipelines, as we deployed an ARM Template which included Bicep configuration files, and we saw the integration with Azure and of course the CDN Endpoint which supplied a TLS Certificate for our WordPress installation!

Useful links:

Μοιραστείτε το!

Αφήστε το σχόλιο σας