Crash course by Juha Mustonen
What?
-
Wikipedia:
Continuous integration (CI) is the practice, in software engineering, of merging all developer working copies with a shared mainline several times a day. -
Me:
Running repetitive development activities in controlled environment and periodic manner.
What?
- CI solutions
-
Jenkins (OSS fork from Hudson)
-
Hudson (Maintained by Oracle)
-
Travis CI (OSS solution hosted by Github)
-
Bamboo (Atlassian)
-
TeamCity (JetBrains)
-
Why Jenkins?
- Popular
-
Versatile (600+ plugins)
-
Active community & development (+LTS)
- CI solutions
- Jenkins (OSS fork from Hudson)
- Hudson (Maintained by Oracle)
- Travis CI (OSS solution hosted by Github)
- Bamboo (Atlassian)
-
TeamCity (JetBrains)
-
Why Jenkins?
- Popular
- Versatile (600+ plugins)
- Active community & development (+LTS)
For What?
- Testing
- Unit testing
- Functional testing
- Integration testing
- Performance testing
- Static analysis
-
Building
-
Packaging (.tgz .wgt .exe .dmg ...)
-
Releasing (tag, package, publish)
-
Publishing (doc, api, package)
-
Deployment
- And other repetitive or automated tasks...
- Testing
- Unit testing
- Functional testing
- Integration testing
- Performance testing
- Static analysis
-
Building
- Packaging (.tgz .wgt .exe .dmg ...)
- Releasing (tag, package, publish)
- Publishing (doc, api, package)
-
Deployment
- And other repetitive or automated tasks...
Why?
... we already have a Grunt ?
#!/bin/sh
grunt test build
- Build: Grunt / Ant / Maven / Bash / Make /...
- Test: Lint / Karma / Selenium / Sauce Labs /...
- Release: Gitosis / Github / NPM / ...
- Deploy: SSH / Fabric / ...
So Why?
-
Environment
- Clean & controlled
-
Operating systems (Linux, Mac OS X, Windows)
-
Different versions and dependencies (os, version, module, ...)
- Integrations
- Long or resource hungry runs
-
Build artefacts (also statistical data)
- Packages
- Reports
-
Features
-
Notifications
-
Automated, manual and periodic
-
Integrations (Jenkins comes with API and different clients)
- Environment
- Clean & controlled
- Operating systems (Linux, Mac OS X, Windows)
- Different versions and dependencies (os, version, module, ...)
- Integrations
- Long or resource hungry runs
- Build artefacts (also statistical data)
- Packages
- Reports
-
Features
- Notifications
- Automated, manual and periodic
- Integrations (Jenkins comes with API and different clients)
How?
- Jenkins setup in http://build.sc5.io/
- Custom accounts, ask one from it@sc5.io
- Instructions in /wiki/display/PPM/Jenkins
- Clone job template in Jenkins
-
Configure git and other project details

How?
-
Permissions
- Parameters
- VCS location
- Triggers
- Change in version control, job or resource
- Periodic, manual or external trigger
- Pre-build steps
- Environment
- Dependencies
- Build steps
- Shell commands
- Post-build step
- Analyse outcome
- Publish reports
- Deploy
Demo

DevOps Day 03 - Git 3.4
By Tarun Sharma
DevOps Day 03 - Git 3.4
- 861