Continue Integration (CI) for Natural Language Processing.
This script is tested on Ubuntu 14.04. It is recommended to use these scripts.
- apt-get
- git
- Python 2.7.6+
- Fabric 1.8.2+
- Prepare SSL credentials.
- Define domain name of CI server.
- Prepare linux server.
- Install git and Fabric.
$ sudo apt-get -y -q install git fabric
- Install and setup Jenkins server.
$ fab -u USERNAME -i PATH_TO_PRIVATE_KEY -H ADDRESS:22 install:domain=DOMAIN
- USERNAME
- An username to use when connecting to remote hosts.
- PATH_TO_PRIVATE_KEY
- A path to private key to use when connecting to remote hosts.
- ADDRESS
- An address of remote host for CI server.
- DOMAIN
- A domain of Jenkins page.
If you want to install this system into local machine, localhost
is set to ADDRESS
variable.
After successfully installing, you can access https://ADDRESS/jenkins
as an admin
user. (User name and password is same.)
- Create job.
$ fab -u USERNAME -i PATH_TO_PRIVATE_KEY -H ADDRESS:22 createjobs:domain=DOMAIN
- USERNAME, PATH_TO_PRIVATE_KEY, ADDRESS, DOMAIN
- Same as above step.
Please see joblist.json. In current version, a test project for jigg is already defined.
The directory construction of nlp-ci
is as follows:
+ nlp-ci
+- INSTALL_SCRIPTS (fabfile.py, etc.)
+- jigg (Base project)
| +- Dockerfile
| +- test.sh
| +- jigg-develop (Target project directory1)
| | +- src...
| +- jigg-develop-other (Target project directory2)
| +- src...
+- mecab
| +- Dockerfile
| +- test.sh
| +- mecab-develop
| +- src...
+- ...
-
Coding and push to the target repository.
-
Check result.