Building a React Native application with a CI/CD pipeline
Phuc, Ho (2019)
Phuc, Ho
2019
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2019092719295
https://urn.fi/URN:NBN:fi:amk-2019092719295
Tiivistelmä
The purpose of this research is to demonstrate the process of implementing a continuous integration and continuous delivery/ deployment pipeline for a React Native application in practice.
The study is based on the fact that manual application quality assurance has several drawbacks and a solution for automating that process is necessary for both developers and the growth of the product. In this study, five different CI/ CD provider are compared by their advantage and disadvantages and based on framework support, hosting options, configuration process and pricing, one of them is chosen to be implemented for a React Native application in practice. Moreover, the study also provides brief background knowledge on React Native and Redux to help the reader to have a more concrete view of the whole implementation process.
Bitrise is the CI service chosen to be used in the project. A basic CI build is put into use with the following steps: clone repository, install dependencies, run unit testing, export Android and iOS native builds, install Android dependencies and finally, deploy to Bitrise.io. The build will be triggered every time a commit is pushed to the project master branch and inform the developers in both cases of a failed build or a successful build. However, the steps of publishing the application to the Appstore have not been completed yet because the developer accounts are not available.
As a result, the application quality assurance process has been enhanced with a CI workflow. Further development of the CI/CD can be done by adding a few more steps to the CI workflow such as UI testing, lint checker, or visual testing.
The study is based on the fact that manual application quality assurance has several drawbacks and a solution for automating that process is necessary for both developers and the growth of the product. In this study, five different CI/ CD provider are compared by their advantage and disadvantages and based on framework support, hosting options, configuration process and pricing, one of them is chosen to be implemented for a React Native application in practice. Moreover, the study also provides brief background knowledge on React Native and Redux to help the reader to have a more concrete view of the whole implementation process.
Bitrise is the CI service chosen to be used in the project. A basic CI build is put into use with the following steps: clone repository, install dependencies, run unit testing, export Android and iOS native builds, install Android dependencies and finally, deploy to Bitrise.io. The build will be triggered every time a commit is pushed to the project master branch and inform the developers in both cases of a failed build or a successful build. However, the steps of publishing the application to the Appstore have not been completed yet because the developer accounts are not available.
As a result, the application quality assurance process has been enhanced with a CI workflow. Further development of the CI/CD can be done by adding a few more steps to the CI workflow such as UI testing, lint checker, or visual testing.