The life cycle of an application is an important part of the governance process. The App Factory offers a default life cycle 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 . This means application when it is outdated and it has no use any more.not used
Figure: Default life-cycles stages and state transitions
Let's see how Follow the steps below to manage your application's life cycle using lifecycle:
- Log in to the App Factory portal
- View life-cycle stages of application versions
- Promote applications across life-cycle stages
- Demote applications and link to comments and bugs as reasons
- Set preconditions for life-cycle state transitions
- View life-cycle history of an application
- Specify estimated deadlines for an application to be in a given life-cycle stage
- Log in to the App Factory portal, select your application and click the
- (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
You can promote a particular application branch across various application stages by clicking the Promote icon associated with it. Follow the instructions below to promote an application.
- Select the application branch and click the Promote button associated with it.
- Depending on the current lifecycle stage the branch, you get a checklist of itemsA 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.
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). Follow the instructions below to demote an application.
- 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 life-cycle lifecycle history.