Slide 1

Slide 1 text

Continuous Delivery (Azure App Slots): A modern developer's BAE. By: Wale Ayandiran @waleCloud @ forloop Asaba November 10, 2017

Slide 2

Slide 2 text

What we will cover at the end ● What is Continuous Integration & Continuous Delivery ● Staging/Pipeline/Slots workflow ● Git & Versioning ● Various cloud hosting Platforms ● Sample web Application on this methodology Objective:

Slide 3

Slide 3 text

Hello World! ❖ Wale Ayandiran ❖ Web developer and Solution Consultant ❖ Web development Learning Facilitator @ekobits ❖ Bits Academy Trainer ❖ Writer at medium.com/justcodenow ❖ Medium @waleloud

Slide 4

Slide 4 text

Which one is continuous delivery again???

Slide 5

Slide 5 text

Continuous Delivery Defined Continuous delivery is a software development methodology where the release process is automated. Every software change is automatically built, tested, and deployed to production. Source: Amazon Before the final push to production, a person, an automated test, or a business rule decides when the final push should occur. Although every successful software change can be immediately released to production with continuous delivery, not all changes need to be released right away.

Slide 6

Slide 6 text

So you're telling me continuous delivery is ghen ghen abi? What has been happening before now? Oya tell me na!

Slide 7

Slide 7 text

The Old BAE We were basically uploading and downloading files. :)

Slide 8

Slide 8 text

How do I continuously deliver? Meet BAE's sister → Continuous Integration (CI)

Slide 9

Slide 9 text

Continuous Integration CI - Continuous integration is a software development practice where members of a team use a version control system and integrate their work frequently to the same location, such as a master branch. Each change is built and verified by tests and other verifications in order to detect any integration errors as quickly as possible

Slide 10

Slide 10 text

CI / CD Continuous integration (CI) is focused on automatically building and testing code, as compared to CD Continuous delivery (CD), which automates the entire software release process up to production.

Slide 11

Slide 11 text

HELLO BAE

Slide 12

Slide 12 text

New BAE (CD) Tools ● Git & Version Control System Cloud development platforms

Slide 13

Slide 13 text

THE FLOOR IS LIVE IMPLEMENTATION. A Simple demo using MS Azure and Github to handle Staging and Auto Deployment. Join In: live

Slide 14

Slide 14 text

DISCLAIMER I’m not affiliated to Microsoft or any of their products of sort.

Slide 15

Slide 15 text

Step 1 Step 2 Step 3 Step 4 Login to portal.azure.com or create an account. Step 5 Procedure A Git & Azure Create a repo on github, name it forloop-asaba, clone repo on local PC Open your favorite Terminal, create a new file (index.php) Git add, commit & push Click on Create new Web App.

Slide 16

Slide 16 text

STEP 1

Slide 17

Slide 17 text

STEP 2/3 Clone the repo on your PC and create a new index file

Slide 18

Slide 18 text

STEP 4 Create a new web app on azure, select deployment slot from the menu

Slide 19

Slide 19 text

Step 1 Step 2 Step 3 Step 4 Authenticate and Select your branch *master* Step 5 Configure your web App: name, subscription, resource group, App Service plan & OS. Select your App from dashboard, select deployment options Choose your VCS where you code lives Click OK. Browse your app and it should be live. Procedure B - AZURE

Slide 20

Slide 20 text

STEP 1-4 Choose your source code repository and authenticate

Slide 21

Slide 21 text

STEP 5 Once you’ve done that, click on browse and you have something similar to this on the right.

Slide 22

Slide 22 text

Step 1 Step 2 Step 3 Step 4 GOTO Procedure B STEP 3 Step 5 Create a new branch on your repo and push some edit code there Go back to azure, select deployment slots -> click Add slot Configure the slot same way you did for the App step 1 and select configuration source as your previous App Click OK.Browse your app and it should be live with the modification you’ve made and Swap slots Procedure C - Git & Azure

Slide 23

Slide 23 text

STEP 1-3 Click add slot, choose your configuration source and a name for this slot - features

Slide 24

Slide 24 text

STEP 1-3 Create a new branch name it feature branch on github, edit your index, commit changes and push.

Slide 25

Slide 25 text

STEP 1-3 Setup your deployment options and choose the feature branch as shown on the right image.

Slide 26

Slide 26 text

STEP 5 Result of the newly deployed feature. Now you can swap the slots and make this slot into production

Slide 27

Slide 27 text

STEP 5 Swaps the feature slot to production and Viola! Now you can always test new features on the feature and swap to production when it’s tested & ready.

Slide 28

Slide 28 text

https://goo.gl/L6NtDp - Live https://goo.gl/jDwuJZ - Features/Staging Links to the Apps

Slide 29

Slide 29 text

CONTINUOUS DELIVERY Why we love it ❖ Less scary, small and frequent ❖ Move faster ❖ More empowering ❖ Breeds confidence

Slide 30

Slide 30 text

CONTINUOUS DELIVERY Why we love it ❖ Just sauce ❖ Raw sauce no ketchup just sauce The ting goes .... Well you don know!

Slide 31

Slide 31 text

Thank You. Connect with me @waleCloud