Artifacts management with DevOps

Post on 22-Jan-2018

107 views 1 download

Transcript of Artifacts management with DevOps

Artifacts ManagementBlackie Tsai

Agenda

• Artifacts Introduction

• on-premise Tools Introduction• JFrog Artifactory

• TFS

• ProGet

• Maven

• DevOps with Artifacts Management

Artifacts Introduction

What is Artifacts?

• Artifact(US) or artefact

• noun ar·ti·fact \ˈär-ti-ˌfakt\

• Artifact (archaeology), an object formed by humans, particularly one of interest to archaeologists

• Artifact (software development), one of many kinds of tangible by products produced during the development of software

What is REAL Artifacts in Software Development?

Artifacts in Software Development Life Cycle

Artifacts Management during Software Development• Documentation => Version Control

• The source code => Source Code Version Control

• The compiled application => Dependency Management

• A deployable package => Provisioning and Configuration Management

Version Control

Dependency Management

• .NET : NuGet

• JavaScript : npm, Yarn

• Front-end : Bower

• Java : Maven

• iOS : CocoaPods, Carthage

And many many…

Provisioning & Configuration Management

• Provisioning Management• Docker

• Vagrant

• …

• Configuration/Orchestration Management• Chef

• Puppet

• Ansible

• SaltStack

• …Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Comparison

Artifact Management Main Features

• Versioning support

• Retention

• Access control

• Promotion

• Act as a native repository for the artifacts

on-premise Tools Introduction

JFrog Artifactory

• JFrog Artifactory is an open source repository manager.

• License charge per Server.

• Have OSS, Pro, Enterprise and SaaS version.

• OSS version DO NOT support below feeds:• NuGet

• npm

• CocoaPods

JFrog - Universal Artifact Repository Manager

Team Foundation Server(TFS)

• It provides source code management, reporting, requirements management, project management, automated builds, lab management, testing and release management capabilities. It covers the entire application lifecycle, and enables DevOps capabilities.

• License charge per User.

• First 5 users free.

• Have SaaS version(VSTS)

• Only support• NuGet• npm• Maven(preview)

Using Package from Maven and Package Management in TFS2017

ProGet

• ProGet is a Package Management System allows users to host and manage personal or enterprise-wide package.

• License charge per Server.

• Have Free, Basic, Pro and SaaS version.

• Free support all feeds include:• NuGet

• npm

• Maven

Another Free Universal Package Manager - ProGet

Sonatype Nexus Repository Manager

• Repository manager with FREE support for popular formats. GET REPOSITORY OSS

• License charge per User.

• Have OSS, Enterprise version

• Free support• NuGet

• npm

• Maven

Other Feature Matrix

Binary Repository Manager Feature Matrix

DevOps with Artifacts Management

References

• https://en.wikipedia.org/wiki/Artifact

• http://files.zend.com/help/Zend-Studio/content/git_and_github.htm

• https://www.jfrog.com/

• https://www.visualstudio.com/tfs/