Integrating with Jfrog Artifactory

To begin, set up an ActiveState Artifact Repository (AAR) for the ActiveState project you want to integrate with your Jfrog Artifactory. Contact ActiveState Customer Support to create your AAR. Then you can configure a remote repository on your Artifactory instance to proxy the AAR that you’ve set up.

Before you integrate your ActiveState Platform project with your JFrog Artifactory, your organization must have the following:

  • An ActiveState Platform account with a project using Python (version 3.8 or later) and PIP.
  • An ActiveState Artifact Repository created from the above project.
  • An active JFrog Artifactory account.

To configure your Jfrog Artifactory

  1. In Artifactory’s Administration menu click Repositories -> Repositories -> Remote.
  2. Click + Add Repositories -> Remote Repository.
  3. Set the Package Type to PyPI and enter the Repository Key value (e.g. har-remote).
  4. Set the URL field to: https://dl.activestate.com
  5. Set the Registry URL field to the URL of your AAR.
  6. See sample screenshot below:

image1.png

  1. Click the Advanced tab.
  2. Select “Bypass HEAD Requests” under the “Others” list and leave the default boxes checked.

image2.png

  1. Click Create Remote Repository to finish.

To verify your Artifactory integration

Verify the new remote repository is active by installing an artifact that exists in your AAR.

  1. To resolve packages from the remote repository using pip, add the following to ~/.pip/pip.conf on macOS/Linux or %APPDATA%\pip\pip.ini on Windows:
[global]
index-url = https://<USERNAME>:<PASSWORD>@<ARTIFACTORY URL>/artifactory/api/pypi/<REPOSITORY KEY>/simple

If credentials are required to use your Artifactory instance they should be embedded in the index-URL.

Examples:

[global]
index-url = https://username:password@activestate.jfrog.io/artifactory/api/pypi/har-remote/simple
[global]
index-url = https://activestate.jfrog.io/artifactory/api/pypi/har-remote/simple
  1. To resolve packages using pip, run:
pip install <PACKAGE>

For example

pip install requests

The package that previously only existed in your AAR will now be visable in the new remote repository. For more information about Artifactory’s PyPI remote repository capabilities, see this article on the JFrog website.