Supported Partner Integrations
JFrog Platform
These platform deployments will deploy JFrog Artifactory as the entry point of the JFrog Platform and some have options to also install additional products.
Partner |
Integration/ Deployment Type |
JFrog Products(s) | JFrog Subscription |
---|---|---|---|
Amazon AWS | Container Marketplace | Artifactory | Pro/Enterprise |
Google GCP | GKE Kubernetes App | Artifactory Xray (optional) |
Enterprise |
Microsoft Azure | ARM Template | Artifactory |
Enterprise |
Rancher | Catalog Helm Chart | Artifactory | Enterprise |
Red Hat | Certified UBI docker Image | Artifactory | Pro/Enterprise |
Red Hat OpenShift | Certified OpenShift Operator | Artifactory | Enterprise |
Red Hat Ansible | Ansible Collection | Artifactory Xray (optional) |
Pro/Enterprise |
JFrog Xray
These deployments will deploy JFrog Xray and take as input the URL and Join key needed to connect to an existing JFrog Artifactory instance.
Partner |
Integration/ Deployment Type |
JFrog Subscription |
---|---|---|
Microsoft Azure | ARM Template | Enterprise |
Red Hat OpenShift | Certified OpenShift Operator | Enterprise |
JFrog Container Registry
Partner |
Integration/ Deployment Type |
---|---|
Amazon AWS |
Container Marketplace |
Google GCP | GKE Kubernetes App |
Microsoft Azure | ARM Template |
Rancher | Catalog Helm Chart |
Deploying Artifactory Using Partner Integrations
The following Artifactory deployment types are described:
- Amazon AWS Container Marketplace
- Microsoft Azure Arm Template
- Rancher Catalog Helm Chart
- Red Hat Certified UBI Docker Image
- Red Hat Certified OpenShift Operator
Amazon AWS Container Marketplace
The AWS Container Marketplace offers an alternative Docker image to theofficial JFrog Artifactory Docker image. The Marketplace image is identical to the official JFrog Artifactory Docker image with the only difference being that the Marketplace image doesnotstart up with the default credentials (admin:password). The end-user must set or get thefirst time password.
Prerequisites
- An active AWS subscription
- An Artifactory Pro (or higher) license
- Docker (or service capable of deploying Docker images)
To set up the JFrog Artifactory in AWS Container Marketplace:
- Subscribe to the listing.
- Navigate toContinue to configuration|Continue to Launch|View container image details.
- Follow the instructions to log in and perform a pull of the image.
- Configure the imagesimilarly to the way you would configure the official JFrog Docker image (with the only difference being the image name).
- Run the image and get or set thefirst time password.
Setting the Password for the First Time
Amazon AWS Container Marketplace does not allow default passwords. As such, you need to provide a password during container initialization or one will be randomly generated.
To set the first time initialization password for the 'admin' user, pass the environment variableARTIFACTORY_PASSWORD
with the desired password. For example:
docker run ... --env ARTIFACTORY_PASSWORD=my-new-password
If no initialization password is provided, one will be generated and printed to the logs.To get the randomly generated password, you can do so by looking at the first few lines of the Docker container logs as displayed in the following example.
docker logs| head -n 10 INFO: Since ARTIFACTORY_PASSWORD environment is not set. We are generating our own random password. Generated ARTIFACTORY_PASSWORD is Ieqo868W99SBY5cqzx
This password is intended only for the initial setup and the password should be changed via the UI or REST API after you are up and running.
Upgrading Artifactory in the AWS Container Marketplace
To upgrade, refer to the officialDocker to Docker upgradeprocedure, whereby only the image name/source differs.
Google GCP GKE Kubernetes App
The Google GCP GKE Kubernetes App allows Google's GCP users the ability to deploy a high availability instance of JFrog Artifactory with the click of a few buttons. This deployment is supported for GCP's GKE and viaAnthos(for Hybrid/On-Prem) GKE.
Prerequisites
- Active GCP subscription
- Artifactory Enterprise Licenses (2+)
- A domain name with corresponding SSL Certificate (optional but strongly recommended for production)
To deploy the Artifactory using the Google GCP GKE Kubernetes App:
- Go to theJFrog Artifactory Enterprise listing.
- ClickConfigure和select the target Project in which to deploy.
- Select the cluster you wish to deploy to or create a new one.
- Fill out the details, making sure to change the master key (and recording it).
- ClickDeploy和wait for the application to be deployed.
- Follow the instructions on the right hand side of the App to get the public IP.
- Provide the license via the UI or REST API.
Upgrading Artifactory in the Google GCP GKE Kubernetes App
The upgrade is only supported from 6.x to 6.x and 7.x to 7.x with an expected small downtime window.
To upgrade, you need to manually edit the workloads:
To upgrade, you need to manually edit the workloads:
- Go to theGKE工作量s page, select the Project in which the the app is deployed.
- Find and select the master workload:
.-artifactory-ha-primarymaster - Change the YAML from
gcr.io/cloud-marketplace/jfrog/jfrog-gke:
togcr.io/cloud-marketplace/jfrog/jfrog-gke:
in all locations (no need to change the annotations). You have the option to:- Select theJFrog GKE registryfrom a list of all versions.
- 还可以查nge the image to pull directly from JFrog, where images are updated at a more regular interval. In this case, use
docker.bintray.io/jfrog/artifactory-pro:
.
- Scale the deployment down to zero, then back to 1.
- Save the change and wait for the primary node to come up in the new version.
- After the primary node is on the new version, repeat the same process of changing the image for the secondary workload:
.artifactory-ha-member - Scale the deployment down to zero, then back to previous member count (typically 2).
- Verify all the nodes are now in the correct version of theUI|Administration|Monitoring|Service Status.
Microsoft Azure ARM Template
The Microsoft Azure ARM Template allows Microsoft Azure users the ability to deploy a high availability instance of JFrog Artifactory with the click of a few buttons. The ARM template is built in conjunction with Azure engineers to ensure best practices during deployment.
Prerequisites
- An active Azure subscription
- Spare vCPUs available in your region in Azure
- Artifactory Enterprise Licenses (2+)
- A domain name with corresponding SSL Certificate
To deploy the JFrog Artifactory Microsoft Azure ARM Template:
- Go to theJFrog Artifactory Enterprise listing.
- ClickGET IT NOW和thenContinue|创建.
- In the基础知识tab, fill out the Subscription, Resources Group and Region.
- In theVM Credentialstab, fill out the username and password that will be used in case you need to SSH into the machines created by this template.
- In theArtifactory Cluster settingstab fill out these settings:
- If you update the machine size, make sure to also update the JVM parameters (the max JVM heap should be 1/2-3/4 of the total machine memory).
- You will need to have enoughVirtual machine vCPU quotas. If you don’t have enough vCPUs, create asupport request to Azure to increase the quotaor reduce the machine size.
- In theDatabase Configurationtab provide the details for the database that will be used.
- InStorage Options, select the
STANDARD_LRS
. - FinallyReview|创建.
- When the process has completed, clickOutputsto view the FQDN (Fully Qualified Domain Name), which can be used to access UI.
Upgrading Microsoft ARM Template
To upgrade, refer toJFrog Artifactory ARM template README.
Rancher Catalog Helm Chart
The Rancher Catalog Helm Chart allows Rancher users the ability to deploy a high availability instance of JFrog Artifactory with the click of a few buttons. The chart is available via theofficial Rancher Charts和can be deployed to any cluster managed via Rancher.
Prerequisites
- Rancher 2.x+
- A Kubernetes cluster under Rancher management
- Artifactory Enterprise Licenses (2+)
To deploy the JFrog Artifactory Rancher Helm Chart:
- From the UI, go toApps|Launch.
- Search for or selectartifactory-hafrom the catalog.
- Fill out the name select the target project.
- Under theSERVICES AND LOAD BALANCING, configure how you choose to expose the web application.
- Under theARTIFACTORY STORAGE, setEnable Persistent Storage for ArtifactorytoTrue和configure your preferred filestore method:
- File-system: Write to a locally mounted volume.
- NFS: A shared/mounter NFS for all the nodes.
- Google Storage: Write toGoogle Cloud Storage. You must set this up before and provide the details to access it here.
- AWS S3:写AWS S3。你必须年代et this up in advance and provide the access details here.
- Under theDATABASE SETTINGS, setEnable PostgreSQL和Enable Persistent Storage for PostgreSQLtoTrue.
- (Optional) ClickShow Advanced Configurationto set settings such as CPU/Memory and to change the master key.
- ClickLaunch.
Upgrading Artifactory in the Rancher Catalog Helm Chart
The upgrade is only supported from 6.x to 6.x and 7.x to 7.x with an expected small downtime window.
- In Rancher UI, go to the project i.e. global -> your cluster -> project name (usually default)
- Click on apps, you may see an “Upgrade available” button.DO NOT CLICK ON THIS BUTTON TO UPGRADE. THIS WILL LEAD TO 100% DATA LOSS!!
- Select your app. You will see workloads.We will upgrade primary node, secondary node(s) and nginx. We will upgrade each workload by changing docker image.
- Select three vertical dots to the right of the primary node and select “View/Edit YAML”
- 牧场主将显示一个文本编辑器。搜索和replace all occurrences of old artifactory tag (e.g. 7.3.2) with the version you want to upgrade to (e.g. 7.6.3). Once done, press “Save”
- Wait for primary node to be green in Rancher UI. You can also watch status of various nodes in artifactory UI under settings -> monitoring -> service status
- Now follow steps 4-6 for secondary nodes
- Now follow steps 4-6 for nginx.
- Log into the artifactory andverify all the nodes are now in the correct version of theUI|Administration|Monitoring|Service Status.
Red Hat Certified UBI Docker Image
The Red Hat Certified UBI Docker Image is an alternative to theofficial JFrog Artifactory Docker image. It swaps out the underlying image operating system and replaces it withRed Hat's UBI. The image has other minor modifications to meet Red Hat certification but behaves and can be used in the same way as theofficial JFrog Artifactory Docker image.
Prerequisites
- An active Red Hat subscription
- Artifactory Pro (or higher) license
- Docker/OpenShift (or service capable of deploying Docker images)
To use the JFrog Artifactory Red Hat Certified UBI Docker Image, you have two options:
- Existing Red Hat users can pull it directly from theRed Hat Catalog.
- You can build the image yourself, potentially changing the Operating System to the full Red Hat 8 installation:
For either method,configure and use the imagethe same way you would for theofficial JFrog Docker image (with the only difference being the image name).
Running on OpenShift
This image uses a UID that is outside the scope expected by OpenShift. To use this image in OpenShift,use it withanyuid security context constraint.
Upgrading JFrog Artifactory using the Red Hat Certified UBI Docker Image
To upgrade, follow the officialDocker to Docker upgradeprocedure, only the image name/source should be different.
Red Hat Certified OpenShift Operator
The Red Hat Certified OpenShift Operator allows OpenShift users the ability to deploy a high availability instance of JFrog Artifactory to their OpenShift clusters.
Prerequisites
- Active OpenShift 4 subscription
- Artifactory Enterprise Licenses (2+)
- Docker (or service capable of deploying Docker images)
To deploy the JFrog Artifactory using Red Hat Certified OpenShift Operator:
- An external DB is required. The operator will not deploy a DB but will require you to specify the configuration values to connect to it.
- Go to the OperatorHub in an Openshift 4.x cluster console.
- Search for JFrog and clickJFrog Artifactory企业经营者to install.
- Go to the Installed Operators.
- Wait for the JFrog Artifactory Enterprise Operator to complete the installation.
- Open the Operator and click on the provided API:Artifactory HA.
- Click创建New Instance和provide the following parameters for your DB configuration:
DATABASE_TYPE
DATABASE_DRIVER
DATABASE_URL
DATABASE_USER
DATABASE_PASSWORD
- Click创建for Artifactory Enterprise to deploy into OpenShift and connect to the DB you specified in step 6.
Upgrading Artifactory in Openshift using Operator
As new versions of the Openshift operator are deployed by JFrog, upgrades become available through the Operatorhub.
Upgrades happen automatically to Artifactory after you click install on the next version through the Operatorhub.
If, for example you are running version 7.6.3 and an upgrade becomes available for 7.6.5 in the Operatorhub you should see your Artifactory automatically upgrade to 7.6.5 generally within 24 hours.
For more information on how Openshift knows which instances to upgrade and the OLM visit the documentationhere
RedHat Ansible Collection for Artifactory and Xray
The RedHat Ansible Collection for Artifactory and Xray allows users to use Ansible to install and upgrade Artifactory and Xray servers.
Prerequisites
Ansible 2.5+
Artifactory and Xray Licenses
Included Ansible Roles
Artifactory
Xray
NGINX SSL (optional)
Postgres (optional)
Using The Ansible Collection
1. Install this collection from Ansible Galaxy.
ansible-galaxy collection install jfrog.installers
2. Ensure you reference the collection in your playbook when using the roles.
--- - hosts: xray collections: - jfrog.installers roles: - xray
3. Ansible uses SSH to connect to hosts. Ensure that your SSH private key is on your client and the public keys are installed on your Ansible hosts.
4. Create your inventory file. Use one of the examples from theexamples directoryto construct an inventory file (hosts.yml) with the host addresses and variables.
5. Create your playbook. Use one of the examples from theexamples directoryto construct a playbook using the JFrog Ansible roles. These roles will be applied to your inventory and provision software.
6. Then execute with the following command to provision the JFrog software with Ansible. Variables can also be passed in at the command-line.
ansible-playbook -i hosts.yml playbook.yml --extra-vars "master_key=$(openssl rand -hex 16) join_key=$(openssl rand -hex 16)"
Autogenerating Master and Join Keys
You may want to auto-generate your master amd join keys and apply it to all the nodes.
ansible-playbook -i hosts.yml playbook.yml --extra-vars "master_key=$(openssl rand -hex 16) join_key=$(openssl rand -hex 16)"
Using Ansible Vault to Encrypt Vars
Some vars you may want to keep secret. You may put these vars into a separate file and encrypt them usingAnsible Vault.
ansible-vault encrypt secret-vars.yml --vault-password-file ~/.vault_pass.txt
then in your playbook include the secret vars file.
- hosts: primary vars_files: - ./vars/secret-vars.yml - ./vars/vars.yml roles: - artifactory
Upgrades
The Artifactory and Xray roles support software upgrades. To use a role to perform a software upgrade only, use theartifactory_upgrade_onlyorxray_upgrade_onlyvariables and specify the version. See the following example.
- hosts: artifactory vars: artifactory_version: "{{ lookup('env', 'artifactory_version_upgrade') }}" artifactory_upgrade_only: true roles: - artifactory - hosts: xray vars: xray_version: "{{ lookup('env', 'xray_version_upgrade') }}" xray_upgrade_only: true roles: - xray
Bastion Hosts
In many cases, you may want to run this Ansible collection through a Bastion host to provision JFrog servers. You can include the following Var for a host or group of hosts:
ansible_ssh_common_args: '-o ProxyCommand="ssh -o StrictHostKeyChecking=no -A user@host -W %h:%p"' eg. ansible_ssh_common_args: '-o ProxyCommand="ssh -o StrictHostKeyChecking=no -A ubuntu@{{ azureDeployment.deployment.outputs.lbIp.value }} -W %h:%p"'
Deploying JFrog Container Registry Using Partner Integrations
The following JFrog Container Registry Partner integrations are:
- Amazon AWS Container Marketplace
- Google GCP GKE Kubernetes App
- Microsoft Azure ARM Template
- Rancher Catalog Helm Chart
Amazon AWS Container Marketplace
The AWS Container Marketplace offers an alternative Docker image to the officialJFrog Container Registry Docker image. The Marketplace image is identical to the official JFrog Artifactory Docker image with the only difference being that the Marketplace image doesnotstart up with the default credentials (admin:password). The end user must set or get thefirst time password.
Prerequisites
- An active AWS subscription.
- Docker (or service capable of deploying Docker images).
部署在AWS JFrog容器注册表Container Marketplace listing:
- Subscribe to the listing
- Navigate toContinue to Configuration|Continue to Launch|View container image details.
- Follow the instructions to log in and perform a pull of the image.
- Follow the included instructions for using it using Docker or Helm.
Setting the Password for the First Time
Amazon AWS Container Marketplace does not allow default passwords. As such, one must be provided during container initialization or one will be randomly generated.
To set the first time initialization password for the 'admin' user, pass the environment variableARTIFACTORY-PASSWORD
with the desired password. For example:
docker run ... --env ARTIFACTORY-PASSWORD=my-new-password
If no initialization password is provided, one will be generated and printed to a file in the container.To get the randomly generated password, you can print the contents of the file.
docker exec -itcat /var/opt/jfrog/artifactory/generated-pass.txt
In either case, this password should be used only for the initial set up and the password should be changed via the UI or REST API after you are up and running.
Upgrading JFrog Container Registryin the AWS Container Marketplace listing
To upgrade, follow the officialDocker to Docker upgradeprocedure, only the image name/source should be different.
Google GCP GKE Kubernetes App
The Google GCP GKE Kubernetes App allows Google's GCP users the ability to deploy a JFrog Container Registry with the click of a few buttons. This deployment is possible both in GCP's GKE and viaAnthos(for Hybrid/On-Prem) GKE.
Prerequisites
- An active GCP subscription.
- A domain name with a corresponding SSL Certificate (optional but strongly recommended for production).
To deploy the JFrog Container Registry using Google GCP GKE Kubernetes App:
- Go to theJFrog Container Registry listing.
- ClickConfigure和select the Project to where you wish to deploy.
- Select the cluster you wish to deploy to or create a new cluster.
- Fill out the details, and make sure to change the master key (and recording it).
- ClickDeploy和wait for the application to be deployed.
- Follow the instructions on the right hand side of the App to get the public IP.
UpgradingJFrog Container Registry using Google GCP GKE Kubernetes App
Upgrade is only supported for 6.x to 6.x and 7.x to 7.x with an expected small downtime window.
To upgrade, you will need to manually edit the workloads.
- Go to theGKE工作量s page和select the Project in which the App is deployed.
- Find the JFrog Container Registry workload:
.-artifactory - Change the YAML from
gcr.io/cloud-marketplace/jfrog/jfrogcr:
togcr.io/cloud-marketplace/jfrog/jfrogcr:
in all locations (no need to change the annotations)- Select theJFrog Container Registry registryfrom a list of versions.
- The version may also use a SHA instead of a version tag:
gcr.io/cloud-marketplace/jfrog/jfrogcr@sha256:
. - 还可以查nge the image to pull directly from JFrog, where images are updated at a more regular interval. In this case, use 'docker.bintray.io/jfrog/artifactory-jcr:
'
- Scale the deployment down to zero, then back to 1.
- Save the change and wait for the node to come up in the new version.
- Verify the new version in the bottom left corner of the UI.
Microsoft Azure ARM Template
The Microsoft Azure ARM Template allows Microsoft's Azure users the ability to deploy a JFrog Container Registry with the click of a few buttons. The ARM template is built in conjunction with Azure engineers to ensure best practices when deploying.
Prerequisites
- An active Azure subscription
- Spare vCPUs available in your region in Azure
- A domain name with corresponding SSL Certificate
To deploy the JFrog Container Registry Microsoft Azure ARM Template:
- Go to theJFrog Container Registry listing
- ClickGET IT NOW|Continue|创建.
- In the基础知识tab, fill out the Subscription, Resources Group and Region.
- In theVM Credentialstab, fill out the username and password that will be used in case you need to SSH into the machines created by this template.
- In theArtifactory Cluster settingstab fill out these settings:
- If you update the machine size, make sure to also update the JVM parameters (the max JVM heap should be 1/2-3/4 of the total machine memory).
- You will need to have enoughVirtual machine vCPU quotas. If you don’t have enough vCPUs, create asupport request to Azure to increase the quotaor reduce the machine size.
- In theDatabase Configurationtab, provide the details for the database that will be used.
- InStorage Optionsselect the
STANDARD_LRS
. - Finally clickReview|创建.
- When the process is completed, clickOutputsto view the FQDN (Fully Qualified Domain Name), which can be used to access UI.
Upgrading Microsoft ARM Template
To upgrade, refer toJFrog Container Registry ARM template README.
Rancher Catalog Helm Chart
The Rancher Catalog Helm Chart allows Rancher users the ability to deploy a JFrog Container Registry with the click of a few buttons. The chart is available via theofficial Rancher Charts和can be deployed to any cluster managed via Rancher.
Prerequisites
- Rancher 2.x+
- A Kubernetes cluster under Rancher management
To deploy the JFrog Container Registry Rancher Helm Chart:
- In the UI, go toApps|Launch.
- Search for or select
artifactory-jcr
from the catalog. - Fill out the name select the target project.
- Under theSERVICES AND LOAD BALANCING, configure how you with to expose the web application.
- Under theARTIFACTORY STORAGE, setEnable Persistent Storage for ArtifactorytoTrue和configure your preferred filestore:
- File-system: Write to a locally mounted volume.
- Google Storage: Write toGoogle Cloud Storage. You must set this up before and provide the details to access it here.
- AWS S3:写AWS S3。你必须年代et this up before and provide the details to access it here.
- Under theDATABASE SETTINGS, setEnable PostgreSQL和setEnable Persistent Storage for PostgreSQLtoTrue.
- (Optional) Click onShow Advanced Configurationto configure the settings such as CPU/Memory and to change the master key.
- ClickLaunch.
Upgrading JFrog Container Registryin the Rancher Catalog Helm Chart
The upgrade is only supported from 6.x to 6.x and 7.x to 7.x with an expected small downtime window.
To upgrade, you need to manually edit the workloads:
- In Rancher UI, go to the project i.e. global -> your cluster -> project name (usually default)
- Click on apps, you may see an “Upgrade available” button.DO NOT CLICK ON THIS BUTTON TO UPGRADE. THIS WILL LEAD TO 100% DATA LOSS!!
- Select your app. You will see workloads.We will upgrade primary node and nginx. We will upgrade each workload by changing docker image.
- Select three vertical dots to the right of the primary node and select “View/Edit YAML”
- 牧场主将显示一个文本编辑器。搜索和replace all occurrences of old jfrog container registry tag (e.g. 7.3.2) with the version you want to upgrade to (e.g. 7.6.3). Once done, press “Save”
- Wait for primary node to be green in Rancher UI. You can also watch status of various nodes in artifactory UI under settings -> monitoring -> service status
- Now follow steps 4-6 for nginx.