User Tools

Site Tools


Writing /app/www/public/data/meta/development/artifactory.meta failed
development:artifactory

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
development:artifactory [2018/01/08 16:50] – created adowlingdevelopment:artifactory [2023/07/24 10:28] (current) bosowski
Line 1: Line 1:
 +====== Errigal Artifactory / Nexus Sonatype ======
 + --- //[[anna.dowling@errigal.com|Anna Dowling]] 2018/01/08 08:53//
 +--- //[[anthony.ryan@errigal.com|Anthony Ryan]] 2023/02/03//
  
 +
 +This article outlines basic server access details for artifactory.
 +
 +
 +
 + new artifactory at http://artifactory.errigal.com is run as a Nexus docker container via docker-compose.yml file, located at ''ubuntu@10.91.133.220:/home/ubuntu/docker/nexus/docker-compose.yml''
 + <code>docker compose up -d</code>
 +
 + Stopped using <code>docker compose down</code>
 +
 + restarts are done via  <code>docker compose down; docker compose up</code>
 +
 +
 +**Location:**
 +  * The Artifactory server is hosted on our Waterford openstack.
 +**Access:**
 +  * The key for accessing this account can be found on dropbox in the following location: 
 +  * ssh to the server via ssh ubuntu@10.91.133.220
 +
 +
 +
 +
 +
 +**URL:**
 +
 +  * http://artifactory.errigal.com/
 +
 +
 +** Out of Space Issues **
 +
 +If the nexus server drops below 4G you will see in the logs the DB has moved to read only
 +
 +The only known approach so far is 
 +
 +   * login to the docker container as root ** sudo docker exec -u 0 -it nexus /bin/bash
 +**
 +   * edit the **nexus.vmoptions** file located in **cd /opt/sonatype/nexus/bin/**
 +   * or **vi /opt/sonatype/nexus/bin/nexus.vmoptions**
 +   * add or uncomment the following line **-Dstorage.diskCache.diskFreeSpaceLimit=1024
 +**
 +   * exit docker bash
 +   * restart nexus **sudo docker restart nexus**
 +   * the Nexus is now in an editable state and artifacts can be removed in an effort to claim back space
 +
 +
 +===== Cheats approach =====
 +
 +* edit file and remove # from last line
 +   * **sudo docker exec -u 0 -it nexus  vi /opt/sonatype/nexus/bin/nexus.vmoptions**
 +   * restart nexus **sudo docker restart nexus**
 +
 +
 +Once you have deleted number of artifacts, (start with largest first, to get going) you must run the **Compact Blob store** task to reduce space
 +
 +   * Go to the tasks list under the Admin tab (you must be logged in)
 +   * run the Compact process, as its only set to weekly due to length of execution
 +   * This may affect the artifactory being written to (it has performance implications)
 +{{:development:2023-nexus-compact-blob-store.jpg?400|}}
 +   * on success run the **df -h** command and verify that the disk space is > 3G
 +      * **/dev/nvme0n1p1   60G   53G  7.5G  88% /**
 +
 +
 +===== Enable Admin Execute Script =====
 +
 +Nexus allows the execution of groovy scripts on the repo, which is useful to find largest files etc
 +
 +but this must be enabled
 +
 +Reference [[https://support.sonatype.com/hc/en-us/articles/360045220393-Scripting-Nexus-Repository-Manager-3|Sonatype Support page]]
 +
 +  * Edit $data-dir/etc/nexus.properties. 
 +  * Add the following on a new line, making sure the file is saved with an ending new line and with the original file permissions:
 +<WRAP center round box 60%>
 +nexus.scripts.allowCreation=true
 +</WRAP>
 +  * Restart NXRM to pick up the property change.
 +
 +
 +===== Configure Cleanup Policy =====
 +
 +The artifactory needs to ensure that older redundant builds are periodically cleaned out, otherwise it will quickly fill up. SnmpManager is a large war file on its own.
 +
 +To do this we use the Clean Up Policy Manager, example configuration deletes after 15 days
 +
 +{{:development:nexus_clean_up_policy_example.png?400|}}