All Downloads are FREE. Search and download functionalities are using the official Maven repository.

view.main.html Maven / Gradle / Ivy

There is a newer version: 2.2
Show newest version


    
        SDS - Software Distribution System
        
    

    

SDS - Software Distribution System

@detailedVersion

Client

What is it?

SDS is a tool to ease deployment of software components across low bandwidth connections. Performing differential updates, only files which really changed are transmitted. Using port 80 and HTTP enables updates through most firewalls etc. without exotic configuration.
Read more on GitHub...

How do I use it?

SDS consists of two parts: A command line tool called SDS.class and the sds-server.

The Client

Using the client is quite simple. Download the SDS.class and run it using Java by calling java SDS -server <servername> list. (Instead of specifying -server for each call, you can also set the environment variable SDS_SERVER). If you're accessing a private instance you can also specify a -identity and -key (or SDS_IDENTITY and SDS_KEY).

The client supports the following commands:

  • list - Lists all known artifacts
  • list <artifact> - Lists all versions of the given artifact.
  • pull <artifact> [ <version> ] - Synchronizes the local directory with the given artifact. Warning: This will move all unwanted files into a directory called "trash"!
  • verify <artifact> [ <version> ] - Performs a dry-run for pull - reports a changes without performing them.
  • monkey <artifact> [ <version> ] - Performs a a monkey patch. This will ask if each change should be performed or not.

The sds-server

To install you own SDS Server, download and unpack the latest ZIP from: Sonatype. Like any SIRIUS application you can now start the server by calling ./sirius.sh start in the install directory (you might need to make it executable: chmod +x sirius.sh).

By default the system operates on port 9000. You can tweak the configuration by creating a file called instance.conf. Here you can place custom settings like http.port=80. All available settings can be found in app/application.conf.

The Maven plugin

A Maven Mojo called sds-maven-plugin can be used to push artifacts into the SDS server:

    <plugin>
        <groupId>com.scireum</groupId>
        <artifactId>sds-maven-plugin</artifactId>
        <version>VERSION</version>
        <configuration>
            <developmentArtifact><!-- Name of the artifact to push for SNAPSHOT builds --></developmentArtifact>
            <releaseArtifact><!-- Name of the artifact to push for release builds --></releaseArtifact>
        </configuration>
        <executions>
            <execution>
                <phase>package</phase>
                <goals>
                    <goal>sds</goal>
                </goals>
            </execution>
        </executions>
    </plugin>

The specify which server to use, add this to your settings.xml:

     <properties>
         <sds.server>my-host</sds.server>
         <sds.identity>MY_USER</sds.identity>
         <sds.key>MY_KEY</sds.key>
    </properties>

License

                            The MIT License (MIT)

                            Copyright (c) 2013 scireum GmbH

                            Permission is hereby granted, free of charge, to any person obtaining a copy of
                            this software and associated documentation files (the "Software"), to deal in
                            the Software without restriction, including without limitation the rights to
                            use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
                            the Software, and to permit persons to whom the Software is furnished to do so,
                            subject to the following conditions:

                            The above copyright notice and this permission notice shall be included in all
                            copies or substantial portions of the Software.

                            THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
                            IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
                            FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
                            COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
                            IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
                            CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
                        


sds-server is made with all the love in the world by scireum in Remshalden
F**k me on GitHub




© 2015 - 2025 Weber Informatics LLC | Privacy Policy