NOTE: This repo is provided without any support, but should be able to get you closer to getting Calamari running on RHEL6. Feel free to submit a PR if you would like to make additions, and they'll be reviewed.
Creates a Calamari build for RedHat 6. As the Octopus-supplied Calamari is built against RHEL7, it uses a higher version of glibc than is available on RHEL6. This tool will pull down the latest tagged Calamari release and compile it to be compatible with RHEL/CentOS 6 systems.
This script will need to be run on a linux machine that has:
gitDockerand run from a user with access to manipulate docker on the machine. Worst case, you can run the script viasudo(with all the usual caveats, read the scripts and know what they do etc.)
- Ensure that the docker service is running on the machine, and the current user has access to the docker engine.
- Verify the version of Calamari your Octopus server uses, performing a healthcheck on the target will reveal this data.
git clonethis repo onto the machine.- Set the
GIT_VERSIONenvironmental variable to the calamari version you need. - Run
./build.sh - When the script finishes, you should find the file in the
artifacts-historyfolder, namedcalamari-rhel.6-x64-<VERSION>.tar.gz
NOTE: If the filename does not have a valid version, and is just named calamari-rhel.6-x64-.tar.gz, it's very likely something has gone wrong with the script (Docker service not running, user doesn't have access etc.). Please be sure to look at the logs and rectify what's wrong.
- Create an SSH target in the Octopus server for your RHEL 6 server.
- Do a sample deployment, which will fail due to the shipped Calamari version not being compatible. This will build all of the directory structure.
- Copy/scp the output file of the script onto the server.
- Navigate to
~/.octopus/OctopusServer/Tools/Calamari.linux-x64/<VERSION>/for the SSH user that Octopus uses, and delete the Calamari install there. - Extract the custom version to the directory in the previous step and
touch Success.txtto generate this file. - Enjoy deploying to RHEL 6!
- Calamari core dumps not being able to file ICU libraries.
Assuming you followed the directions Microsoft's instructions, you will likely need to add the export LD_LIBRARY_PATH=/usr/local/lib to your .bashrc file.
- I updated Octopus, and now my deployments are failing!
You will likely need to repeat the steps for the new version of Calamari that ships with your upgraded version.