Running out of disk space
After you've had Go running for a while, you may notice the following warning box when browsing Go:
If you don't do anything about it, you'll end up seeing the following error:
Go will stop scheduling new pipelines until you make more room, either by compressing large files, attaching a larger hard drive, or by deleting unused artifacts
Compress large log files
In many cases, the easiest thing to do is compress some of the larger artifacts that you won't frequently have need for. For example, if you have a large log file named 'test.log' and you're running Go server on a unix machine, the following script will gzip those files that haven't been modified in the last 10 days
find /var/lib/go-server/logs/pipelines -name test.log -mtime +10 -type f -exec gzip -v '{}' \;
Now, if you add this to a system crontab, your server can compress large artifacts automatically.
Move the artifact repository to a new (larger) drive
If compressing large artifacts is not giving you enough free space, another thing you can do is attach a larger disk drive to store artifacts. After the drive is attached to the system, we can easily change the location Go uses for it's artifact repository.
- Find the location of the Go configuration file
- Navigate to the Admin section
- Click on the "Source XML" tab
- The location of the configuration file is listed here
- Install the new drive
- Shut down Go server
- Copy all files from the original artifact repository location to the new drive
-
Change the artifact repository location in the configuration file
<server artifactsDir="/path/to/new/artifacts"> ... </server> - Start up Go server and verify you still have access to old artifacts
Delete unused artifacts
Another option for making more room is to remove unused (or easily recreatable) artifacts. You may also have old pipelines that you no longer need.
The directory structure of the artifact repository makes selecting which artifacts are safe to delete easier. The format is:
[artifacts-dir]/pipelines/[pipelineName]/[pipelineLabel]/[stageName]/[stageCounter]/[jobName]