Jenkins shared library for content plugin build and deployment
buildContentPlugin
: Create a file namedJenkinsfile
in root of your plugin project with below content
@Library('ekstep-content-plugin-jenkins-common') _
buildContentPlugin {
}
deployContentPlugin
: Create a pipeline job in jenkins with script similar to
@Library('ekstep-content-plugin-jenkins-common') _
deployContentPlugin {
env = 'dev'
pluginArtifactsSourceJob = 'ekstep/org.ekstep.plugins.extractwords/master'
}
Note: deployContentPlugin is currently limited to deploying internal plugins using https://github.com/ekstep/AWS-Setup
- Follow the instructions in jenkins shared library documentation to add this repository as shared library with name
ekstep-content-plugin-jenkins-common
Important: Jenkins has an issue due to which changes to shared library triggers all dependent builds with pollSCM. As a workaround "Additional Behaviours" -> "Add" -> "Polling ignores commits with certain messages" -> Set "Excluded Messages" to ".*"
- Install jenkins plugin for nodejs
- Manage Jenkins -> Configure Tools -> NodeJS Installations
- Name: NodeJS 7.9.0
- Version: NodeJS 7.9.0
- Global NPM packages: gulp-cli bower
- Install jenkins plugin for slack
- Configure slack access token and notification channel following instructions here