The GÉANT Software Repository is based on Artifactory (http://www.jfrog.com/products.php) with Pro Power Pack ( http://www.jfrog.com/pro-features.php). Artifactory provide base Maven/Gradle repository functionality: you can download artefacts and deploy own snapshot and release artefacts like in any repository. It can be used as mirror for any external repository. Also it provide nice GUI to manage your artefacts, deploy files manually and integration Bamboo. Integration with Bamboo (https://ci.geant.org) allow eg. performing License Check process after artefacts deploy, deployment from Bamboo with global defined credentials etc.
Artifactory Pro Power Pack allow us to support different types of repository wider adopted in software development, see available predefined repositories types bellow:
URL: https://artifactory.software.geant.org
Artifactory uses fedrated authentication. After entering https://artifactory.software.geant.org you will be redirect to https://login.geant.org/ where you must choose your Identity Provider. After successful authentication you will be redirect back to Artifactory home page.
To get access to specific repository:
For "non GUI" access to repository for automated deployment tools (Jenkins, Bitbucket), you can:
Artifactory allow to create three repository types: local, remote and virtual. In GÉANT we use all of them, to understood how it works read http://wiki.jfrog.org/confluence/display/RTF/Understanding+Repositories page on Artifactory documentation page.
Each GÉANT development projects have their own local repositories:
1. Request for project internal repositories in SWDSD (https://jira.software.geant.org/secure/RapidBoard.jspa?projectKey=SWDSD)
2. Setting Up a Maven Deployment Descriptor You can follow: http://wiki.jfrog.org/confluence/display/RTF/Configuring+Deployment or:
2.1. Provide configuration in main POM file eg.:
|
2.2. Provide your credentials in settings.xml file.
|
3. Try to deploy snapshot artefacts.
Reference:
Easiest way to use GN Artifactory as global maven repositories mirror is to define profile in your POM file. If you want always use GN Artifactory you can activate profile by default. See below example how to configure it.:...
<profile>
<activation>
<activeByDefault>
true
</activeByDefault>
</activation>
<id>artifactory</id>
<repositories>
<repository>
<id>central</id>
<name>libs-release</name>
<url>https:
//artifactory.software.geant.org/artifactory/repo</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<name>plugins-release</name>
<url>https:
//artifactory.software.geant.net/artifactory/repo</url>
</pluginRepository>
</pluginRepositories>
</profile>
...
Artifactory can be used to serve Docker images like Docker Registry. It is just another type of repository and could be browsed and managed in Artifactory web dashboard.
Address: artifactory.software.geant.org/<REPO_NAME>/<IMAGE_NAME>:<TAG>
Login
docker login artifactory.software.geant.org |
And provide your Artifactory username and password
To manually set your credentials copy the following snippet to your ~/.docker/config.json file.
{ "auths": { "https://artifactory.software.geant.org: { "auth": "<USERNAME>:<PASSWORD>", "email": "youremail@email.com" } } } |
Push image to registry
To push an image tag an image using the docker tag and then docker push command.
docker tag <MY_IMAGE_ID> artifactory.software.geant.org/<REPO_NAME>/<IMAGE_NAME>:<TAG> docker push artifactory.software.geant.org/<REPO_NAME>/<IMAGE_NAME>:<TAG> |
Pull image
docker pull artifactory.software.geant.org/<REPO_NAME>/<IMAGE_NAME>:<TAG> |
You can set the Run License Checks checkbox so that Artifactory will scan all dependencies used by the build to check for any license violations.
After build execution and deploy to https://artifactory.geant.org navigate to your build and select License tab
See example https://artifactory.geant.net/artifactory/webapp/#/builds/cNIS_nightbuild/340/1359382391871/licenses
Note: Currently all approved libraries are matched based on GÉANT IPR Policy.
Reference:
The JFrog Academy provides free, unlimited access to On-Demand Online Training, some of them are dedicated to DevOps and could help you to get deep knowledge about useful Artifactory features and also build automation and DevOps best practices:
See more at: https://academy.jfrog.com/courses |
Related articles appear here based on the labels you select. Click to edit the macro and add or change labels.
|