- Open – Any new issue gets status New and ends up in this stage
- Refinement – The issue is ready to be technically refined.
- The issue should have a clear description
- Acceptance criteria – requirements
- Non-functional criteria
- Test cases
- Development Ready – Issue is refined and clearly described to be taken into development
- In progress – Issue is taken in development and is assigned to a developer
- Create feature branch, an isolated codeline
- Write code
- Write tests
- Make a staging deployment
- Update documentation
- Update app version and Release Notes
- Staging Test – During this phase the issue is still in progress, but the feature branch is deployed to Staging Environment
- Test the functionality and check that it covers all functional requirements.
- Consultants or customers can review the changes on the deployed url.
- Review – The issue is in state review when a pull request is made.
- When a pull request is created, the continuous integration runs quality check and End to End (E2E) tests on the code.
- Another team member reviews the changes and gives recommendations for improvements.
- Review the source code
- Review Translations are present
- Review Release Notes
- Any other recommendations
- Done – After the pull request is merged the issue ends in this stage
- After the merge the continuous deployment runs to deploy the main code.
- A build is created with a unique build number
- Deployment runs to the Appshare CDN (https://*.appshare.app)
- Push of docker image to DockerHub to be used later in a Local Node
- After the merge the continuous deployment runs to deploy the main code.
- After care:
- Notify the customer that the change is available
- If the customer uses a local node then they can login to their local node
- Login to Appshare
- Open the top right menu and select “Administration”
- Select Nodes in the menu and open the Node Manager
- The customer can select the images which was previously published or a newer/higher version
- Inside the Appshare Administration the new build will be shown inside the node
- Users must logout and login again to get the latest build on their devices
Source code and deployment process
When development starts and a feature is in progress then a developer creates a feature branch of the main source code. Changes in the source code are made and added to the feature branch. A developer makes local deployments which are only accessible from the local workstation.
A staging deployment is made when functional tests must be preformed by key users. A staging deployment contains only the changes from the feature branch. When multiple features must be tested together then the a branch with these features must be created an deployed separately.
When a feature branch is merged into the main sources then it is pushed to the Appshare public SaaS and a local node image is created. Customers can pull this new local node image to use the new features by their users.