Deployr Versions Save

A simple golang application to automate the deployment of software releases.

release-0.10

4 years ago

release-0.10

This is a minor update to the previous release:

  • Better documentation on setting variables via the command-line
    • #21
  • Show the contents of STDERR when command execution fails.
    • Reported in #22, fixed in #23.

Both changes contributed by @mlcdf, thank-you!

release-0.9.1

4 years ago

release-0.9.1

This release was made to update the github action used to upload our binary artifacts, the only code-change made was that in the previous release-0.9.

release-0.9

4 years ago

release-0.9

This release fixes a single bug, where copying a single file silently failed if it didn't exist. This was reported in #18, by @mtgxx and their patch was used to resolve the problem.

release-0.8

4 years ago

This release features a couple more minor code-cleanups, as discovered via linting tools. There are zero functional changes.

release-0.7

5 years ago

This release is primarily being made to test the github-actions:

The tests are being run successfully, so if we can upload our binaries that is good.

There are some minor updates to the code/comments since the previous release, but no functional or significant changes.

release-0.6

5 years ago

This release improves our authentication:

  • We support the use of an ssh-agent process.
    • Via the $SSH_AUTH_SOCKET environmental-variable.
  • If we need to prompt the user for their sudo password we no longer echo that input.

release-0.5

5 years ago

This release of deployr updates the handling of the copy-related primitives:

  • CopyFile
    • Which copies a file literally from the host you run deployr upon to a remote system.
  • CopyTemplate
    • This performs a similar copy, but also performs golang text-template expansion.

Both of these primitives now support copying multiple files at once, so this might copy a single file:

 CopyFile /etc/passwd /tmp/passwd

But this will copy multiple files:

 CopyFile /etc/ho* /tmp/

(For this to work the destination must be a directory.)

In addition to the updated copying facilities this release also allows a Sudo token to be prefixed to the Run or IfChanged primitives, for example we might run:

Sudo Run touch /etc/privileged

release-0.4

5 years ago

This release adds support for two new command-line flags to deployr run:

  • -nop
    • Allows you to see what would be executed/uploaded without actually carrying out either action.
  • -set foo=bar
    • Set the contents of the variable foo to be bar.
    • This variable will become essentially read-only, attempts to change the variable in your recipe will silently fail.
    • (i.e. This allows you to override your script.)

release-0.3

5 years ago

This release primarily focuses upon code clarity and correctness.

  • The parser for our commands has been rewritten from the ground-up.
    • We now use a lexer, parser, and evaluator, rather than parsing via regular-expressions and string-splitting.
    • This epic rewrite also added 100% test-coverage for the lexer and parser.
    • Thanks to this change we can catch errors before broken scripts are executed. (For example invalid argument types, unclosed strings, etc.)
  • The main application now uses sub-commands for functionality:
    • The main use will be deployr run file1 file2 .. fileN
    • But you can also view the version via deployr version.
  • If no filename is specified deployr.recipe will be used, if present.

The next release will add more examples and close the open issues.

release-0.2

5 years ago

The main change in this release was the handling of errors:

  • If you try to copy a local-file, or local-template, to the remote host then it is a fatal error if that file doesn't exist.

We've also improved the handling of the Set primitive to allow values to contain whitespace, such that this is now valid:

 Set greeting Hello, World!

(This sets the variable greeting to have the value Hello, World!.)