Skip to content

A tool for automating software deployments and directory replication using rsync

License

Notifications You must be signed in to change notification settings

dylan-robins/remote_target_plus_plus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues Release date MIT License


Remote Target++

A tool for automating software deployments and directory replication using rsync

Table of Contents
  1. About The Project
  2. Installation
  3. Installing from source
  4. Usage
  5. Contributing
  6. License

About The Project

A while back I wrote remote_target, a tool for replicating project directories to remote machines using rsync on a per-project basis. This is done using a .remote_target file in the project root which specifies the hostname, connection information and remote directory to push to.

This is a rewrite of this in C++, using YAML config files instead of INI, and using an rsync backend instead of SFTP. This means that it's a lot faster, compiles to a static binary, and has a much more future-proof configuration format.

remote_target usage example

(back to top)

Installation

To simply install remote_target on a Linux machine, head on over to the releases and download the latest binary for your platform, and place it in a directory that's accessible in your path (for example ~/.local/bin). That's it!

If a prebuilt binary isn't available for your platform yet, you can install from source using the instructions below.

Installing from source

To install from source, follow the instructions below:

Prerequisites

In order to build the tool you'll need a compiler compatible with C++17 and make.

Installation

Building the source code on a Unix-like environment with g++ and make is exceptionally easy:

  1. Clone the repo with it's submodules
    git clone --recurse-submodules https://github.com/dylan-robins/remote_target_plus_plus
    cd remote_target_plus_plus
    
  2. Build the software
    make
    

That's it! If you want to use a different compiler, or change the compilation options, just edit the Makefile. I should learn to use automake or cmake at some point, but this project is simple enough.

(back to top)

Usage

Usage: remote_target [options] 

Optional arguments:
-h --help       shows help message and exits [default: false]
-v --version    prints version information and exits [default: false]
--config        Path to a configuration file
--dry-run       If present, doesn't actually run the replication [default: false]

Example usage:
remote_target usage example

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENCE for more information.

(back to top)

About

A tool for automating software deployments and directory replication using rsync

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published