If you’re reading this, you have probably decided to add Artifactory into your Software Development Life Cycle (SDLC) / CI and would like to understand the key points to consider for implementing this integration.
In this blog post, we’ll review the high level aspects you should address when introducing Artifactory into your environment and CI/CD pipelines as a key DevOps automation tool.
Top 5 areas to think about prior to and during implementation
- Infrastructure and Topology
- Content and Tools
- Utilizing Artifactory in the CI/CD Process
- Management and Maintenance Procedures
- Leveraging Artifactory’s Added Value in your Dev Processes
1. Infrastructure and Topology
Let’s start with the foundations. There are two aspects to consider. First, the system requirements of the machine that will run Artifactory. This include, resources, network and storage. The second aspect is the physical location of your Artifactory instance(s) in your organization.
2. Content and Tools
To get started, you’ll need to connect your dev-stations and existing resources, including package managers and CI servers (such as Jenkins CI for example), to work with Artifactory.
If you do not have a CI integration or your organizational procedures require you to configure package managers and build tools on individual workstations, Artifactory provides you with an easy to use Set Me Up feature. This feature will auto-generate the configuration snippets and commands you need.
If you have a CI/CD setup, you can integrate Artifactory into your build ecosystem and gain visibility of artifacts deployed, dependencies and information on the build environment. You can connect your workstations to Artifactory, with all the necessary configuration of the various package managers and clients, using our CI server integrations including Jenkins, TeamCity, and Bamboo.
3. Introducing Artifactory into your CI/CD pipeline
To ease the introduction of Artifactory to your CI/CD process
JFrog’s build integration tools allows you to ease the introduction of Artifactory into your CI/CD process, with as least interference with your end-users and system as possible.
This step will probably take the longest time to plan and implement.
Suggested implementation flow:
- Setup Artifactory alongside your current system.
- Configure your builds to start pushing content, including builds and artifacts, to Artifactory while still maintaining your old system. i.e retrieve/deploy to your legacy system but in parallel also deploy to Artifactory.
- Start deploying and retrieving content directly to/from Artifactory. But at the same time continue to deploy your content to the legacy system, for the consumption of other teams/projects.
- Once you are ready and confident with your Artifactory integration, start migrating your projects one by one or in bulk.
Note: These are very high level abstractions and will probably need to be adjusted for your specific use-case.
4. Ongoing maintenance and management
The following list of suggestions will help you maintain and manage your Artifactory instances.
- Retention Policies of content (artifacts), and Builds
- Storage limitation considerations
- Database management
- Ongoing system monitoring
- Upgrades and scheduled maintenance operations planning
As a universal binary repository manager, introducing Artifactory will reduce the ongoing management of your entire build processes/pipeline.
5. Leveraging Artifactory
Some of the inherent added value of introducing Artifactory into your environment is improving the build process. For example, utilizing your build info and metadata will allow you to have traceable builds and easily configured retention procedures.
Having traceable builds will prevent the delay of build process by stages like compliance, security and release management. On the one hand, it will allow you to separate the development process from the post-development stages such as QA, compliance, and security. And on the other hand still maintain bidirectional connection between all of this post-development steps.
All in all, in this short blog post we went over five aspects to consider when introducing Artifactory into your Dev environment. It represents a condensed summary of suggestions based on real use-cases, personal interactions, and discussions with JFrog users going through the process of integrating with Artifactory.