Thursday, March 29, 2012

Build Trust in Your Build to Deployment Flow!

A presentation by Yoav Landman of JFrog, the creator of Artifactory, on Continuous Integration (CI).
  • Benefits of CI:
    • Latest version
    • no maintenance release, just do frequent releases including bugfixes
    • less concern about backward compatibility
  • Challenges of CI:
    • Version tracking
    • root cause analysis
    • not everyone ready for this
  • Devs have agile tools. So do Testers. But DevOps?
  • All need access to versioning, tracabilty, access control, promotion, etc.
  • Binary repositories (leave the source at the build stage):
    • need Proxying
    • need smart storage, e.g. find source when needed
    • critical for CI & ALM
  • Artifactory Pro has P2 virtual repo!
  • Move binaries through phases, e.g. testing, staging, prod.
  • Need traceabilty from version control system and build server
  • Plugins for Hudson and Jenkins upload build info to Artifactory repository.
  • Releasing:
    • Your next build is RC
    • Once built and tested, push a button.
    • Version switch, move to another repo, tag
    • Process: snapshots, declare one RC, release
    • Release with Artifactory plugin - a little rigid but works on previously=built snapshot
    • Redundant release build can fail.
    • Should move snapshot, use binaries storage to promote, can script destination, etc.
    • Need to update pom and rename snapshot to be promoted
    • Done in Artifactory
We currently have problems using the maven-release-plugin with tycho. Artifactory removes that plugin's use, i.e. Maven does not release - Artifactory does. It renames and distributes snapshot and makes required POM changes in source. 

Artifactory seems to require artifacts.jar and contents.jar before exposing a virtual p2 repo... but isn't that a real p2 repo. It reportedly can't expose bundles in maven repos as bundles, which Nexus Pro says it can. I wonder though if we can generate an artifacts and metadata.jar for a maven repo in order to expose its bundle artifacts.

No comments:

Post a Comment