The life cycle of an application is an important part of the governance process. The App Factory offers default lifecycle stages as Development, Testing, Staging and Production. You can configure this default life cycle to suit your needs. For instructions, see Adding/Modifying Life Cycle Stages. App Factory also provides the following default state transitions:
- Promote : Promote the application to the next stage
- Demote : Demote the application to the previous stage
- Retire : Retire the application when it is outdated and not used
Figure: Default life-cycles stages and state transitions
Follow the steps below to manage your application's lifecycle:
- Log in to the App Factory portal (for the online version, try https://appfactorypreview.wso2.com).
- Select an application from the list of apps that you own or are invited to participate in.
- Click the Lifecycle Management tab on the left panel.
- The Lifecycle Management window opens with information about each version of the application. For example,
The above screen provides the following information:
- The version of the application and its current lifecycle stage
- Estimated end date of lifecycle stage : In order to manage the application delivery expectations, the stage owner (either Developer, QA or DevOps) can provide an expected delivery date.
Lifecycle history : Information about the lifecycle stages the application got promoted from/demoted to and who performed those actions along with timestamps.
Lifecycle actions and the checklist items of each action. The defaults are described below:
Life-cycle Stage Life-cycle Actions Checklist Items Development Promote
Design Review Done
Code Review Done
Testing Promote, Demote
Test Cases Passed
Smoke Test Passed
Staging Promote, Demote
Automation Tests Passed
Production Demote, Retire Verify No one using the application
Promoting an application
- Select the application branch and click the Promote button associated with it.
- A checklist appears for you to tick. Without completing the checklist, you cannot promote the application to the next stage. This is to ensure you cannot promote a branch without meeting set standards.
- At each stage, the application is automatically built. As part of this build, automatic tests and quality checks can be applied to the code. You can also extend the default build behavior by adding your own tests/checks. One way to do this is by adding a plug-in to Jenkins.
Demoting an application
If you find a problem in the application like a bug, you can demote it back to the stage where the problem can be fixed (usually Development stage).
- Select the application branch and click the Demote button associated with it.
- You get a list of issues raised against this application in the issues tracking system. You can select one or more of them and/or add a comment to explain why the demotion is done. This helps the developer pinpoint the necessary changes.
- Click the Demote to complete.
Information about application promotion and demotion is shown in the application lifecycle history.