We'll see how to setup javascript continuous intergration environment using jenknin, git, gerrit.
1. Add PhantomJS to package.json
PhantomJS can execute javascript without browser. Need to add PhantomJS to run test-case upon PhantomJSnpm install phantomjs --save-dev
npm install karma-phantomjs-launcher --save-dev
npm install karma-junit-reporter --save-dev
2. Create separated karma config file
We'll create separate karma config file for jenkins. Let's create "jenkins-ci-conf.js" like followings. Set browser to phantomjs like line [line 63].3. Create grunt task for jenkins CI
Create grunt task for Jenkins. In this example, I create "continuous" task. Look at [line 23 ~ 26] closely. Change karma config file to "jenkins-ci-conf.js". We have to use "singleRun". The "singleRun" options means that Continuous Integration mode. You can exectue the task like following command,grunt karma:continuous
4. Build PhantomJS [If jenkins is installed linux]
If you jenkins is installed to linux, you need to build it. But you use other environment, you don't need to build. Refer PhantomJS in detail.5. Install jenkins plugins [If jenkins is installed linux]
Install Environment Injector Plugin. It is useful to configure PhantomJS path.6. Job configuration
Let's see job configuration. I used git as a source code management.Source code management
build trigger
gerrit trigger
Build environment
set phantomJS path in script content
Build
There are two steps in build script. The first one is install dependents module using npm install. The second one is execute grunt task like "grunt karma:continuous"
Action after build
Set path to generate test result report
댓글 없음:
댓글 쓰기