Infrastructure at your Service

Nabil Saoual

JENKINS installing Artifactory server and add it to your Jenkins master

By March 5, 2021 DevOps No Comments

Hi everybody

As promised in my previous post on Artifactory plugin here is the installation guide to use Artifactory with your  Jenkins master.First we need to check the prerequisites and then after installation will see how to link it to our Jenkins master.
We will use the trial version and also further the open source version.

  • A quick presentation of Artifactory  from Jfrog’s site ( description also available in my previous blog )

prerequisite

  • as requested launch the artifactory.bat file in /app/bin/ folder

  • a cmd prompt will appear and start installation

  • after cmd prompt installation, the installation wizard will appear

  • go to http://localhost:8082/ url and update the password as asked

  • as I have chosen the PRO version ,it’s asked to enter a license key ( so I have requested it from Jfrog’s site picked up from my mailbox,we will see further how to use opensource version)

  • you can see the admin user default password that you must change after your first login

  • enter your license to activate your account

  • you can configure the platform proxy here if needed

  • Once installation wizard is done, connect to your URL  http://localhost:8082/ui/login/

default admin password must be updated later ( first connection done with user : admin and password :password )

  • Now it’s time to create and manage your repository

  • you can select your package type within a huge choice of software ( note that I chose the trial version with more choices than Open source version )
  • you also have a quick configuration mode to add a generic repository and to select if it will be local or remote

  • as I have subscribed for a free trial I am able to see more package types than on opensource version*

  •  let’s create a Maven repository

  • we can also add a generic repository

  • you can now configure the repository as you want( you can filter the type of file you want to store and share)

link this repository to a Jenkins build

  • when selecting Artifactory configuration in you build, you can now see the repositories created on Artifactory server displaying on a drop down menu

  • when adding a new repository you can refresh the configuration to display it in the drop down menu

Artifactory open source installation

  • let’s check how to install it on CENTOS  (you can select other OS types )go to this URL :

https://jfrog.com/open-source/

  • Here,you got many choices to perform your installation,in our case we will download the targ.gz file,unzip it and launch the .sh file
[[email protected] bin]# pwd
/home/Nour2020/Téléchargements/jfrog-artifactory-oss-7.15.3-linux/artifactory-oss-7.15.3/app/bin
[[email protected] bin]# ll
total 492
-rwxr-xr-x. 1 Nour2020 Nour2020  32364 14 févr. 15:37 artifactoryCommon.sh
-rwxr-xr-x. 1 Nour2020 Nour2020    382 14 févr. 15:37 artifactoryctl
-rwxr-xr-x. 1 Nour2020 Nour2020   1544 14 févr. 15:37 artifactory.default
-rwxr-xr-x. 1 Nour2020 Nour2020   9581 14 févr. 15:37 artifactoryManage.sh
-rwxr-xr-x. 1 Nour2020 Nour2020  17562 14 févr. 15:37 artifactory.sh
drwxr-xr-x. 2 Nour2020 Nour2020     53  3 mars  09:13 diagnostics
-rwxr-xr-x. 1 Nour2020 Nour2020 163909  4 févr. 17:44 installerCommon.sh
-rwxr-xr-x. 1 Nour2020 Nour2020  10606 14 févr. 15:37 installService.sh
-rwxr-xr-x. 1 Nour2020 Nour2020 175347  4 févr. 17:44 migrate.sh
-rwxr-xr-x. 1 Nour2020 Nour2020   4433 14 févr. 15:37 migrationComposeInfo.yaml
-rwxr-xr-x. 1 Nour2020 Nour2020   4223 14 févr. 15:37 migrationDockerInfo.yaml
-rwxr-xr-x. 1 Nour2020 Nour2020   6689 14 févr. 15:37 migrationRpmInfo.yaml
-rwxr-xr-x. 1 Nour2020 Nour2020   4537 14 févr. 15:37 migrationZipInfo.yaml
-rwxr-xr-x. 1 Nour2020 Nour2020  31431  4 févr. 17:44 systemYamlHelper.sh
-rwxr-xr-x. 1 Nour2020 Nour2020   6879 14 févr. 15:37 uninstallService.sh
[[email protected] bin]#
[[email protected] bin]# ./artifactory.sh
2021-03-03T14:17:00.523Z [jfrt ] [INFO ] [32e8d27585514cf1] [SchemaInitializationManager:51] [ocalhost-startStop-2] - Post-DB initialization manager initialized
2021-03-03T14:17:02.949Z [jfrt ] [INFO ] [a8fe707a163f3e3c] [ctoryContextConfigListener:325] [art-init ] -
_ _ __ _ ____ _____ _____
/\ | | (_)/ _| | | / __ \ / ____/ ____|
/ \ _ __| |_ _| |_ __ _ ___| |_ ___ _ __ _ _ | | | | (___| (___
/ /\ \ | '__| __| | _/ _` |/ __| __/ _ \| '__| | | | | | | |\___ \\___ \
/ ____ \| | | |_| | || (_| | (__| || (_) | | | |_| | | |__| |____) |___) |
/_/ \_\_| \__|_|_| \__,_|\___|\__\___/|_| \__, | \____/|_____/_____/
Version: 7.15.3 __/ |
Revision: 71503900 |___/
Artifactory Home: '/home/Nour2020/Téléchargements/jfrog-artifactory-oss-7.15.3-linux/artifactory-oss-7.15.3'
Node ID: 'localhost.localdomain'
2021-03-03T14:17:51.794Z [jfrt ] [INFO ] [ ] [d.DatabaseConverterRunnable:37] [pool-40-thread-1 ] - Starting Async converter thread.
2021-03-03T14:17:51.795Z [jfrt ] [INFO ] [ ] [ncDBSqlConditionalConverter:33] [pool-40-thread-1 ] - Starting attempt #1 of async conversion for v225_change_nodes_node_name_idx
2021-03-03T14:17:51.796Z [jfrt ] [INFO ] [ ] [ncDBSqlConditionalConverter:35] [pool-40-thread-1 ] - Conversion of v225_change_nodes_node_name_idx finished successfully.
2021-03-03T14:17:51.796Z [jfrt ] [INFO ] [ ] [ncDBSqlConditionalConverter:33] [pool-40-thread-1 ] - Starting attempt #1 of async conversion for v225_change_nodes_node_path_idx
2021-03-03T14:17:51.796Z [jfrt ] [INFO ] [ ] [ncDBSqlConditionalConverter:35] [pool-40-thread-1 ] - Conversion of v225_change_nodes_node_path_idx finished successfully.
2021-03-03T14:17:51.796Z [jfrt ] [INFO ] [ ] [ncDBSqlConditionalConverter:33] [pool-40-thread-1 ] - Starting attempt #1 of async conversion for v225_change_nodes_node_repo_path_idx
2021-03-03T14:17:51.796Z [jfrt ] [INFO ] [ ] [ncDBSqlConditionalConverter:35] [pool-40-thread-1 ] - Conversion of v225_change_nodes_node_repo_path_idx finished successfully.
2021-03-03T14:17:51.796Z [jfrt ] [INFO ] [ ] [ncDBSqlConditionalConverter:33] [pool-40-thread-1 ] - Starting attempt #1 of async conversion for v225_add_bundle_files_node_id_index
2021-03-03T14:17:51.856Z [jfrt ] [INFO ] [c0781707ef1ffc27] [adsFolderCleanupServiceImpl:52] [art-exec-4 ] - Starting docker temp folder cleanup
2021-03-03T14:17:51.857Z [jfrt ] [INFO ] [c0781707ef1ffc27] [adsFolderCleanupServiceImpl:54] [art-exec-4 ] - Docker temp folder cleanup finished, time took: 1 millis
2021-03-03T14:17:52.328Z [jfrt ] [INFO ] [ ] [ncDBSqlConditionalConverter:35] [pool-40-thread-1 ] - Conversion of v225_add_bundle_files_node_id_index finished successfully.
2021-03-03T14:18:05.069Z [jfrt ] [INFO ] [ ] [o.j.c.ConfigWrapperImpl:342 ] [pool-31-thread-1 ] - [Node ID: localhost.localdomain] detected local modify for config 'artifactory/config/security/access/access.admin.token'
2021-03-03T14:18:05.399Z [jfac ] [INFO ] [254b212df9e1c5bf] [a.c.RefreshableScheduledJob:53] [27.0.0.1-8040-exec-5] - Scheduling federationCleanupService task to run every 1209600 seconds
2021-03-03T14:18:05.422Z [jfac ] [INFO ] [cb57992813ed0fc7] [.f.FederationCleanupService:59] [jf-access-task1 ] - Running clean up of outdated Federation events
2021-03-03T14:18:05.464Z [jfac ] [INFO ] [254b212df9e1c5bf] [s.r.NodeRegistryServiceImpl:68] [27.0.0.1-8040-exec-5] - Cluster join: Successfully joined [email protected] with node id localhost.localdomain
2021-03-03T14:18:10.614Z [jfac ] [INFO ] [ ] [CertificateFileHandlerBase:181] [c-default-executor-1] - Loading ca certificate from database.
2021-03-03T14:18:10.732Z [jfac ] [INFO ] [ ] [CertificateFileHandlerBase:328] [c-default-executor-1] - [ACCESS BOOTSTRAP] Saved new ca certificate at: /home/Nour2020/Téléchargements/jfrog-artifactory-oss-7.15.3-linux/artifactory-oss-7.15.3/var/etc/access/keys/ca.crt
2021-03-03T14:18:10.733Z [jfac ] [INFO ] [ ] [CertificateFileHandlerBase:190] [c-default-executor-1] - Finished loading ca certificate from database.
2021-03-03T14:18:10.733Z [jfac ] [INFO ] [ ] [CertificateFileHandlerBase:181] [c-default-executor-1] - Loading root certificate from database.
2021-03-03T14:18:10.794Z [jfac ] [INFO ] [ ] [CertificateFileHandlerBase:328] [c-default-executor-1] - [ACCESS BOOTSTRAP] Saved new root certificate at: /home/Nour2020/Téléchargements/jfrog-artifactory-oss-7.15.3-linux/artifactory-oss-7.15.3/var/etc/access/keys/root.crt
2021-03-03T14:18:10.795Z [jfac ] [INFO ] [ ] [CertificateFileHandlerBase:190] [c-default-executor-1] - Finished loading root certificate from database.
2021-03-03T14:18:10.797Z [jfac ] [INFO ] [ ] [alConfigurationServiceBase:182] [c-default-executor-1] - Loading configuration from db finished successfully
2021-03-03T14:18:20.847Z [jfrt ] [INFO ] [fa913282bc0a4c6f] [a.e.EventsLogCleanUpService:59] [art-exec-2 ] - Starting cleanup of old events from event log
2021-03-03T14:18:20.855Z [jfrt ] [INFO ] [fa913282bc0a4c6f] [a.e.EventsLogCleanUpService:81] [art-exec-2 ] - Cleanup of old events from event log finished
2021-03-03T14:21:04.897Z [jfrt ] [INFO ] [2c1dd772a21d089e] [o.a.s.SecurityServiceImpl:1518] [http-nio-8081-exec-2] - Password for user: 'admin' has been successfully changed
2021-03-03T14:21:40.478Z [jfrt ] [INFO ] [618bbbd4bf008641] [c.CentralConfigServiceImpl:697] [http-nio-8081-exec-1] - Reloading configuration... old revision 0, new revision 1
2021-03-03T14:21:40.662Z [jfrt ] [INFO ] [618bbbd4bf008641] [c.CentralConfigServiceImpl:401] [http-nio-8081-exec-1] - Force updating new descriptor (old descriptor doesn't support diff). Old descriptor revision 0
2021-03-03T14:21:40.750Z [jfrt ] [INFO ] [618bbbd4bf008641] [c.CentralConfigServiceImpl:424] [http-nio-8081-exec-1] - New configuration with revision 1 saved.
2021-03-03T14:21:40.767Z [jfrt ] [INFO ] [618bbbd4bf008641] [ifactoryApplicationContext:560] [http-nio-8081-exec-1] - Artifactory application context set to NOT READY by reload
2021-03-03T14:21:41.040Z [jfrt ] [INFO ] [618bbbd4bf008641] [ifactoryApplicationContext:560] [http-nio-8081-exec-1] - Artifactory application context set to READY by reload
  • you can now connect to Artifactory server on your Linux server browser with your url and start configuring your repositories

Conclusion

You are all set, you can now use your Jenkins builds to store and share your artifacts on your brand new Artifactory server 🙂
Next time we will check how to configure Artifactory with users, groups and manage access permission for the repositories.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Nabil Saoual
Nabil Saoual

Consultant