• No results found

Continuous Integration and Delivery at NSIDC

N/A
N/A
Protected

Academic year: 2021

Share "Continuous Integration and Delivery at NSIDC"

Copied!
26
0
0

Loading.... (view fulltext now)

Full text

(1)

Continuous Integration and Delivery

at NSIDC

Julia Collins

National Snow and Ice Data Center

(2)

The Goal

Continuous integration

and

Continuous delivery

(3)

Definitions

Continuous integration: Merge changes

frequently into shared code base (and run unit/ integration tests) to catch conflicts early.

Requires:

Code repository

Automated build (build all commits) Automated tests

(4)

Definitions

Continuous delivery: A software development

discipline where you build software in such a way that the software can be released to production at any time.

(5)

Definitions

Continuous deployment: Passing builds are

automatically deployed to the production

environment

(6)

Release

Development Context

Time

Release

Iterative development with frequent feature releases

(7)
(8)

Jenkins

Open source (MIT license)

Core installation great for running scripts

Can run on a schedule, poll SCM for changes

Can be extended via plugins. Many (many many)

plugins already exist.

Cons: Plugin developers not necessarily writing with

other (unrelated) plugin behaviors in mind.

(9)

Jenkins Build

A

Build Job Build/unit test Build Job Acceptance test Build Job Deploy

(10)

Another definition

“Artifact”

tar file jar file

SCM tag or revision number

(11)

Artifacts

We had no artifact repository Solution: Roll our own

Result: Overhead added to job configurations to support the artifact handling

(12)
(13)

But really, automation is good

Consistent steps, no matter who’s running the build

History and reproducibility

Build configuration conveys information

(14)

Meanwhile . . .

Moving from svn towards git

Bitbucket repositories

(15)

Branching Strategies

Feature A

Feature B

(16)

Many jobs, one build server

Applications using different versions of same language or libraries

Conflict between projects needing upgrades vs. those frozen at a particular version

Would like option to build, test and run applications on different OS than default

(17)

The Wish List

Feature workflow:

The ability to build/test/approve a feature branch. The ability to merge master into a branch prior to build/test.

The ability to merge all successfully integrated (built/ tested) feature branches into master for review within the QA environment.

The ability to push the local master (with all approved feature changes) to origin/master on the remote

(18)

The Wish List

Build and deployment:

The ability to create multiple build environments to

satisfy different application needs for language versions and supporting libraries.

A continuous build environment that produces/ manages deployment-ready artifacts, including managing the state of approval (or not).

Deployment: Ops must be able to identify the approved artifact(s) and run the required steps for deployment.

(19)

Road Map

Stick with Jenkins, OR

(20)

Jenkins in the future

Use existing plugins to provide needed

functionality (artifact handling, master/slave implementation for multiple build agents)

Contribute to plugin development

Move in-line shell commands to application task runners (remove redundancies)

(21)

Bamboo (Atlassian)

Stage 1

Stage 2

Stage 3

Job 1 Job 2 Job 3

Run

in

or

der

Jobs run in parallel (different agents)

task 1 task 2 task 3 task 1 task 2 task 3 task 1 Ru n i n o rd e r Build Plan

(22)
(23)
(24)

The Critical Facts

Jenkins: “free”

TeamCity

Free edition: 3 build agents, 20 build configurations $299: 1additional build agent, 10 additional configs $1999+: Enterprise options

Bamboo

Hosted vs. local options

$10: No remote agents, 10 jobs

(25)

Lessons Learned

Build configurations tend to proliferate.

With some effort, Jenkins can support many requirements.

It’s not just using the right tool, it’s how you use it.

(26)

References

Jenkins: http://jenkins-ci.org

TeamCity: http://www.jetbrains.com/teamcity/

Bamboo: https://www.atlassian.com/software/bamboo

CI: http://martinfowler.com/bliki/ ContinuousDelivery.html

CD: http://continuousdelivery.com/2010/08/ continuous-delivery-vs-continuous-deployment/

References

Related documents

A final need is for a stronger emphasis on research aimed at developing and validating tools to support the enhancement of mathematical knowledge for teaching within

murpay; xw;Wik. Mq;fpy nkhopAk; Nkiy ehl;L fy;tpAk;. gphpl;b\hhpd; nghUshjhur; Ruz;ly;. gj;jphpf;iffspd; gq;F. ypl;ldJ eph;thfk;. Banerji & Anand Mohan Bose. 72

The PROMs questionnaire used in the national programme, contains several elements; the EQ-5D measure, which forms the basis for all individual procedure

There are five different stakeholder groups involved in this steering committee – the iNGO (the final decision maker), the national government, a national NGO, a

Police found in chulufas lincoln nebraska judicial branch recognizes that posted information may be at the specific arrest records of attempted robbery and respected for.. Prompted

In studies with epileptic patients, imagined motor movement (imagery) has been shown to induce ECoG- measured cortical activity change in primary motor areas of the brain at a

We also keep you connected to what’s happening in your world by bringing you the latest news, sport and traffic updates on the web, in your social feeds and on the go with

Standards for data quality outline a framework to enable the collection, analysis and use of good quality data to support the delivery of health and social care and to report