|alban 8890984007 [fix] content hastebin should work||2 months ago|
|plugins-available||2 months ago|
|plugins-enabled||2 months ago|
|.gitignore||2 months ago|
|README.md||2 months ago|
|build.sh||2 months ago|
|changelog.sh||2 months ago|
|config.sample.sh||2 months ago|
Based on the Masters Book of Serious Sysadmin’s Best Practices Chapter, this script aims at unifying and simplifying the management of changelog files on a server.
wget https://git.interhacker.space/alban/changelog/raw/branch/master/changelog.sh chmod +x changelog sudo -E ./changelog
The script will ask for your name if no
CHANGELOG_USERNAME environment variable is found.
Then it will ask for change informations:
You can then add multiple lines for a single change as well as multiple changes for a changelog entry (ex: deploy a new service and remove old packages).
This changelog entry is now inserted on top of the /etc/changelog file, which is created with a default entry if not present yet.
Please note that to enter multiline comments, you have for now to escape newline characters using the
\\\\n sequence. Ugly.
By default, it will attempt to create and edit
/etc/changelog. You better be running it as root, by default.
You can add plugins to hook actions at two points in time. The
plugins-available directory contains two working examples of these hooks.
content-hastebin.shplugin pushes a file content to a pastebin service
output-changelog-server.shplugin pushes a changelog to a remote central server
You can activate the plugins by placing/linking them in the
The plugins might need some configuration variables.
mv config.sample.sh config.sh and edit the file to suit your needs.
While providing a mean to run plugins is cool, it’s not very efficient at deployment time.
build.sh to get a single exec, ready for shipping, embedding: