#environment #multiple #automating #friendly #synchronization #package #tririga

bin+lib trisync

A friendly CLI Tool for automating synchronization of multiple TRIRIGA environment by using the OM API

4 releases

0.1.3 Oct 22, 2021
0.1.2 Oct 21, 2021
0.1.1 Oct 18, 2021
0.1.0 Oct 18, 2021

#5 in #automating

MIT/Apache

51KB
1.5K SLoC

Tri-Sync CLI

Crates.io package

A friendly CLI Tool for automating synchronization of multiple TRIRIGA environment by using the OM API.

To install using crate (You will need rustup)

crate install trisync

To build from source

cargo build --release

Known issues

Unauthenticated SSH Key

If you encounter the following error

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error { code: -1, klass: 23, message: "Failed to authenticate SSH session: " }'

then it is probably because your SSH Key is not in right format. Delete your old SSH Key and regenerate a new one with

ssh-keygen -m pem

A private key (id_rsa file) starting with the following characters: -----BEGIN OPENSSH PRIVATE KEY----- will fail the program. The private key file is expected to begin with: -----BEGIN RSA PRIVATE KEY-----.

How to use

There are several commands available. For help, simply type trisync or trisync -h

This tool only works if you have a Git directory setup with upstream. Refer to this template when initializing a new project.

init

This command initialize the current directory to a Tri-sync project. It will walk you through a serie of questions and will create a config.yaml and a tririga.yaml file.

Note: you shoud not touch these files unless you know what you are doing.

Running this command when a configuration is already created will replace existing one.

There might be times when this command crashes which probably means the configuration files are corrupted. Make a backup of the config files and delete them, then rerun the command.

push

This command pushes/upload all changes on the specified objects in the configuration from current TRIRIGA environment to the Github repository. You will be asked for a commit message before push.

pull

This command pull/download all updates from the Github repository and automatically deploy the package to current TRIRIGA environment.

deploy

This command deploys the package to TRIRIGA. You might want to use this command to force the deployment when the push or pull has failed.

object

add

This command adds a TRIRIGA object to the configuration. All changes to the object will be kept track of.

delete

This command removes a TRIRIGA object from the configuration. You will be prompted with a multi-select dialog for selection.

Dependencies

~17–30MB
~535K SLoC