Wiki source code of Setting up a deployment plan

Last modified by Danniar Firdausy on 2024/09/09 15:46

Show last authors
1 {{container}}{{container layoutStyle="columns"}}(((
2
3 In this microlearning, we’ll explore setting up a deployment plan within eMagiz, covering key considerations and steps to ensure a smooth deployment process. By considering various environment needs and best practices, you’ll learn to configure your deployment plan effectively.
4
5 Should you have any questions, please contact [[academy@emagiz.com>>mailto:academy@emagiz.com]].
6
7 == 1. Prerequisites ==
8
9 * Basic knowledge of the eMagiz platform
10 * Understand eMagiz releases in basics
11 * Have an environment where you can add operational releases to try out the deployment plan
12
13 == 2. Key concepts ==
14
15 This microlearning centers around the Deployment plan. The deployment plan is a series of steps that must be executed on a TAP environment to deploy the (active) release. The release is active in that all changes made to it compared to the running environment are applied effectively before executing the deployment.
16
17 The Deployment plan is defined in the Deployment Plan section under Deploy. Each Test, Acceptance, and Production environment has its plan, which may vary across the environments. The deployment plan is executed from the release itself using Release options.
18
19 [[image:Main.Images.Microlearning.WebHome@crashcourse-platform-deploy-setup-deployment-plan-pic1.png]]
20
21 == 3. Defining the Deployment plan ==
22
23 Below is a screenshot of a basic Deployment plan. In the next section, we'll look at the configuration options available. As seen below, these steps can be added with the button New.
24
25 [[image:Main.Images.Microlearning.WebHome@crashcourse-platform-deploy-setup-deployment-plan--default-deployment-plan-gen3.png]]
26
27 Running a deployment plan means machines are stopped, and new images are deployed. eMagiz does this by comparing your currently running release and the recent release you have activated. To learn more about how eMagiz determines whether a runtime has changed, check out this [[microlearning>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-deploy-execute-deployment-plan-gen3.WebHome||target="blank"]]. Consequently, the runtimes are unavailable shortly.
28
29 === 3.1 Disable triggers ===
30
31 One of the steps available to you is to disable all triggers that are defined in the Manage phase. You can find this step under the “Monitoring Trigger“ step type. During the execution of the deployment plan, depending on the alerting approach, some specific alerts can be triggered that may lead to false-positive alerts. To prevent this, this step is set as one of the first steps in any deployment plan. There are two configurations available within this step:
32
33 * The "Disable" option under this step type comes with two options.
34 ** End Action. Here, you can opt for the following three options
35 *** Auto-enable triggers
36 *** Send email
37 *** Both
38 ** Duration. Here, you can define a waiting period that states how long eMagiz should wait before executing the end action. The value of this field needs to lie between 15 and 120 minutes. Note that the timer starts when your deployment plan's "disable" step is finished.
39
40 [[image:Main.Images.Release Blog.WebHome@release-229-disable-option.png]]
41
42 {{warning}}Note that when you disable triggers, no alerting will be triggered; consequently, no notifications will be sent. Note that the end action is only triggered when the deployment plan cannot complete all steps. When all steps are completed, the timer is **stopped**.{{/warning}}
43
44 === 3.2 Enable triggers ===
45
46 The last step of your default plan will re-enable triggers automatically. In case you don't have this step you can add it manually or revert back to the default plan by pressing the "Default Plan" button.
47
48 {{warning}}Should your deployment get stuck before it is able to finish all steps there are various mechanisms in place that will automatically re-enable triggers via eMagiz.
49
50 * Triggers are automatically enabled **once** you move away from the page showing the deployment plan execution.
51 ** Consequently, this also means that the triggers will not be enabled when you stay on that page for a long time after the deployment is finished.
52 * Utilize the functionality on the "Disable trigger" step that automatically re-enables triggers after a certain period of time.{{/warning}}
53
54 === 3.3 Deploy Machine ===
55
56 In Architecture, you can deploy the machine for every separate machine defined in your Deploy Architecture. You also have the option to start, stop, or restart machines that run in the AWS Cloud.
57
58 * Deploy Machine
59 * Start Machine (only AWS)
60 * Stop Machine (only AWS)
61 * Restart Machine (only AWS)
62
63 [[image:Main.Images.Microlearning.WebHome@crashcourse-platform-deploy-setup-deployment-plan--deploy-machine-options.png]]
64
65 When you execute actions via Deploy Architecture, you can manually disable the triggers by going to Manage -> Alerting -> Triggers -> Notification Settings and pressing "Pause Notifications." Alternatively, you can start a deployment but don't continue with it beyond the "disable triggers" step.
66
67 {{info}}Note that when you alter the configuration of a machine (i.e., add or remove a runtime), all runtimes on that machine **need to be redeployed**. Downtime depends on the runtime size and necessary changes for that runtime.{{/info}}
68
69 === 3.4 Manual steps ===
70
71 All the above options are automated steps. In case a specific action needs to be taken before the next automated step, a manual step can be added. The description helps to describe it, and the deployment steps will halt at this part. It is, however, often used for pre-deployment and post-deployment reminders.
72
73 === 3.5 Keep the deployment plan up to date ===
74
75 The following ways will help to keep the plan up to date:
76
77 * Use the Default plan option to handle 90% of all cases so that every new runtime is automatically added
78 * Copy the plan to the following environment to align all plans similarly.
79 * Prepare the deployment step in your work definition (sprint) and improve the deployment at each iteration.
80
81 == 4. Key takeaways ==
82
83 * The deployment plan is part of the Release Management feature set of eMagiz
84 * Using the deployment plan, you are always sure that the release defined is the release that runs on any environment (notably the production environment)
85 * The deployment plan is a must-have to deploy all the changes in an active release on an environment
86 * Keeping the plan current is easy and takes away the manual effort to deploy flows at different runtimes.
87
88 == 5. Suggested Additional Readings ==
89
90 * [[Crash Courses (Menu)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.WebHome||target="blank"]]
91 ** [[Crash Course Platform (Navigation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.WebHome||target="blank"]]
92 *** [[Create a release (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-deploy-create-new-release||target="blank"]]
93 *** [[Deploy a release (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course Platform.crashcourse-platform-deploy-execute-deployment-plan-gen3.WebHome||target="blank"]]
94 * [[Intermediate (Menu)>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.WebHome||target="blank"]]
95 ** [[Grouping and Failover (Navigation)>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.Grouping and Failover.WebHome||target="blank"]]
96 *** [[Deploy Possibilities (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Intermediate Level.Grouping and Failover.intermediate-grouping-and-failover-deploy-possibilities.WebHome||target="blank"]]
97 * [[Deployment Plan (Search Result)>>url:https://docs.emagiz.com/bin/view/Main/Search?sort=score&sortOrder=desc&highlight=true&facet=true&r=1&f_space_facet=0%2FMain.&f_type=DOCUMENT&f_locale=en&f_locale=&f_locale=en&text=%22deployment+plan%22||target="blank"]]
98
99 )))((({{toc/}}))){{/container}}{{/container}}