Child pages
  • Swabra
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 27 Next »

Icon

This section concerns only the latest version of the plugin. You are welcome to download it directly from public TeamCity server.

General Info

Vendor

JetBrains

License

Apache 2.0

Type

free, open-source

Plugin Description

Plugin adds support for cleaning new files created during the build. The files modified during the build are also reported in the build log (but are not affected by the plugin).

The plugin remembers the state of the file tree after the sources checkout and then deletes all the newly added files on the build finish or on next build start (depending on the options).

Plugin Development Status

In final stage of development. Snapshot builds are available.
Everyone is encouraged to try the plugin.

TeamCity Versions Compatibility

The current plugin version is designed to work with TeamCity 5.x and TeamCity 4.5.x (there are two plugin configurations).

Download

Directly from public TeamCity server:
5.0.x last nightly build
4.5.x last nightly build

Documentation

Installation instructions

  1. Put swabra.zip into <TeamCity Data Directory>/plugins folder.
  2. Restart the server.

Plugin usage

The plugin can be used with any runner. Swabra tab provides UI options to enable scanning checkout directory for newly created and modified files.

Cleaning can be performed before or after the build.

First the plugin is turned on, it initiates clean checkout, after which in the checkout directory there are only essential files and no "garbage". At this moment the state of the checkout directory is saved into a file in the caches directory named <checkout_directory_name_hash>.snapshot using DiskDir format. Checkout directory to snapshot name map is saved int snapshot.map file.

This snapshot is used later (after the build finish or at the start of the next build) to determine which files and folders are newly created or modified. It is done by actual files' presence, last modification data and size comparison with corresponding records in the snapshot.

Сonfiguring plugin via UI options

The plugin adds its configuration settings panel to the runner settings page: choose Swabra mode as before or after build.

If you choose After build mode build files cleanup will be performed after the build. Between builds there will be clean copy in the checkout directory which gives possibility to free more disk space.
If you choose Before next build mode previous build files cleanup will be performed at build start. You only need to use this mode if files are required between builds or for debugging.

Check Strict mode option to enable Swabra "strict" mode. The build will fail if at the start there are any files which were created during previous build.

When performing files deletion on Windows agents Swabra may come across files and folders which are locked by some outside processes.

If you check the Determine file locking processes on Windows agents option the plugin will attempt to kill these processes and finally remove files (in Strict mode) or just report (in normal mode) these processes.

If this option is unchecked list of newly created during the build files, which Swabra failed to delete will appear in the build log.

Locking processes detection can also be turned on when build files cleanup is disabled. In such case useful information about locking processes (or their absence) will appear in the build log.

To enable locking processes detection you also have to download Handle.

Check Verbose output option to enable detailed logging to build log.

Downloading Handle

Specify URL for downloading Handle.zip, press Download button and TeamCity will automatically download Handle, extract and send to Windows agents.
The executable will be stored under <agent>\plugins\handle-provider\bin.
Note that Handle will be present on agents only after the upgrade process.

You may also download Handle, extract it on agent and set up the handle.exe.path system property manually.

Debug options

Generally snapshot file is deleted after files collection. Set swabra.preserve.snapshot system property to preserve snapshots for debug purposes.

Feedback/Support

If you believe you've faced a bug: Issue Tracker (project: TeamCity)
If you want to ask a question or discuss: Forum

Sources in JetBrains Subversion repository.
Builds for TeamCity 5.x and
Builds for TeamCity 4.5.x at JetBrains public TeamCity

Related Materials

Issue in TeamCity tracker.

  • No labels