I have a remote docker repository pointed at another JFrog Artifactory instance that I manage. I can see Docker images in both the original Artifactory repository and in the UI of the remote repository, but when I click on the manifest for the images, it says "this item is not cached" and I cannot pull the image from the remote repo. Is there a configuration item that I need to set to make sure the images get cached properly?
There is a setting "Store Artifacts Locally" in the Advanced Remote Repositories Settings. Check if it is selected.
Related
i have 2 Artifactory server and have configured ubuntu repos.
One off the artifactorys goes to internet to ubuntu and the other
artifactory connects to the artifactory with internet access.
I have the following problem. From my local artifactory i get always the error 404.
I cant fetch the metafile (Packages) from the ubuntu repo.
But if i reconfigure my remote repo and set --> store artifacts locally all seems fine.
I want store the artifacts locally. My local artifactory should ask the artifactory with internet access and should get all files from the remote artifactory.
Have anyone a idea how to solve my problem?
best regards
I assume you are trying to set up a smart remote repository with Artifactory. Refer to this wiki and set up the smart remote repository, basically, you should be adding the URL in your local Artifactory's remote repository as http://ARTIFACTORY_URL/ubuntu-remote/ and make sure the "store artifacts locally"is checked so that this remote repository can able to index the artifacts.
I am using on-prem JFrog Artifactory to hold maven artifacts. I have a need to use this artifactory to hold my app's docker images. So I tried creating a new docker repository but it showed me docker type as disabled. When I am looking around people are suggesting to use JFrog Container Registry.
My question is, can't I create a docker repository in my existing artifactory, does it require any plugin etc. to be downloaded to add this functionality in existing artifactory ? And how to enable that docker repository option while trying to create a new repository ?
Seems like you are using the Artifactory OSS version and not the Artifactory pro version, Artifactory OSS is limited as this an open-source version for the Maven-based projects. As everyone recommends you can make use of the JFrog container registry which is free to use application to handle the Docker registries.
Otherwise you can utilize the FREE Cloud Artifactory to handle all the different repositories in a single Artifactory instance.
I have set up a remote docker repository that caches a docker registry. I have pulled a docker image via a tag from the Artifactory remote, and the layers are now in the Artifactory cache. If the tag is modified in the origin registry, will a subsequent pull from the remote get the new layers? Is there any cache configuration to make the tags in the remote immutable?
Likewise, how can remote repositories for other package types be made immutable?
Yes, if the remote tag is modified then the updated image will be pulled into the local cache next time it’s requested from Artifactory. The only way I can think of to stop this is to set the remote repository offline in Artifactory.
I have set up Artifactory OSS Version 6.9.1 on an AWS instance behind an ELB and have been successfully deploying builds to it from GitLab CI/CD. I am now trying to set up a local Artifactory OSS Version 6.10.0 on my laptop so that I can develop builds locally before sharing with the team.
My local artifactory connects perfectly to JCentre and I can browse that repository.
My gradle build will happily connect to the AWS hosted artifactory at http://{URL}/artifactory and resolve my dependencies.
When I connect a remote repository with http://"{URL}/artifactory I get a 500 Internal Error message on Test. If I take off the /artifactory it says it has connected successfully but when I try to browse the remote repo it is empty.
I read Connect one Artifactory to another Artifactory and followed the instructions to edit the json configuration and make the remote repository a smart repository here https://www.jfrog.com/confluence/display/RTF/Smart+Remote+Repositories.
It now has the smart repository image but still cannot be browsed.
Gradle still cannot resolve dependencies with the local artifactory using the remote-repo name.
As stated in the Smart Remote Repository documentation, you should configure the remote repository URL with the following structure:
http://ARTIFACTORY_URL/api/package-type/repository-key
So if you have a Gradle repository named "gradle-test", the URL should be:
http://ARTIFACTORY_URL/api/gradle/gradle-test
Hope this helps.
In the end it turned out to be ridiculously simple. When setting up the remote repository the key needs to be in the url as well as the key field.
So for a repo with a repository key 'fractal' the connection URL is counter-intuitively http:///artifactory/fractal
I am playing with a brand new OOS artifactory installation. I have a remote repository for jcenter. I am looking for a way to manually cache remote artifacts to jcenter-cach with artifactory web UI. I appreciate any help.
Edit remote Repository
Repository Brower
When your build is resolving artifacts from artifactory , Artifactory will cache artifacts that were requested from remote repositories.
But since you are looking for a way to do this manually with Artifactory Web UI , it can be don't even though it is little bit tricky.( NB: Remote Web search capability should be enabled in your Artifactory instance). Here are the steps to do so:-
Click Artifacts tab
Select Remote Search (this will open a window for search artifacts from bintray’s remote jcenter repository )
Find the artifact you wants to cache
When you find the artifact, click it , a pop up will appear and select Download.
This will download the file to your local machine and at the same time it will trigger Artifactory to catch the same artifact to remote cache.
NB: Be advised that caching artifacts may take a while depending on the file size or internet connection speed.