This repository holds the open source code for incy.io Kiosk frontend component.
These steps primarily apply to a non-Windows platform, but it is absolutely possible developing on Windows too.
- Have yarn installed.
- Have git installed.
- (Optional) Have Docker CE installed
- (Optional, but highly recommended) Configure your editor of choice to use ESLint.
- For (Neo)Vim (non-neo >=8), using Worp/Ale is highly recommended. For first time vim users, using this in conjunction with Vim Bootstrap might be a good start.
- For Visual Studio Code, using ESLint from the marketplace is highly recommended.
- For emacs users,
> using emacs
- Clone this repository i.e.
git clone https://github.com/BitSaber/incy-io-kiosk-frontend.git
- cd into the cloned folder i.e.
cd incy-io-kiosk-frontend
- Install project dependencies i.e.
yarn install
- Start the appliaction, defaults to
0.0.0.0:3000
which can be accessed by visiting localhost:3000 i.e.
yarn start
When making pull requests and branches, Jenkins will run an automated CI/CD pipeline, using technologies such as SonarQube, Robot Framework and Selenium, to name a few. This assures a baseline for code quality. Jenkins delivers the CI/CD Pipeline results to GitHub, and this will assist in preventing the merging of suboptimal code into protected branches.
An image of the current CI/CD pipeline is presented below
These commands are assumed to be run from the root directory of this repository.
outside docker Start the docker container:
docker run \
--name jenkins-docker-robot-chrome \
-v $(pwd):/home/jenkins/incy-io-kiosk-frontend \
--rm \
-d \
--privileged \
docker.bitsaber.net/devops/jenkins-chrome-71:latest
outside docker Attach to it:
docker exec -it jenkins-docker-robot-chrome su - jenkins
inside docker Configure PATH and start dev server:
PATH="/opt/tools/yarn/yarn-v1.12.3/bin:/opt/tools/nodejs/node-v11.4.0-linux-x64/bin:$PATH"
cd incy-io-kiosk-frontend
yarn start &>/dev/null &
inside docker Run robot:
robot -d robot_reports __tests__/robot
outside docker Stop the docker image:
docker stop jenkins-docker-robot-chrome