]> gitweb.fluxo.info Git - hydra.git/commitdiff
Deploy: run hydra install to keep codebase synced
authorSilvio Rhatto <rhatto@riseup.net>
Wed, 23 May 2018 19:38:52 +0000 (16:38 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Wed, 23 May 2018 19:38:52 +0000 (16:38 -0300)
TODO.md
share/hydra/deploy
share/hydra/install
share/hydractl/install

diff --git a/TODO.md b/TODO.md
index d1836f9b51930245acecbfe55627a494b861c1a8..43149472ff8cb88dfcb2f6ba339d98ad842aeefa 100644 (file)
--- a/TODO.md
+++ b/TODO.md
@@ -7,5 +7,4 @@ TODO
 * hydra:
   * deploy:
     * manage ansible package at local machine
-    * run hydra install to keep codebase synced
     * check if server needs import-keys, or always import them
index 093b72387420b9bacc11dbe965de2bb66d34ce49..32dc700d57ad94c7cdea97ef3ad83bd1635b516c 100755 (executable)
@@ -66,6 +66,10 @@ for node in $NODES; do
     # Create folders
     hydra_deploy_mkdirs
 
+    # Ensure we have a compatible hydra suite
+    #hydra $HYDRA install $node
+    DESTDIR="$FOLDER" hydractl install
+
     # Sync repository to server
     echo "Syncing configuration..."
     $DEPLOY_RSYNC "$RSYNC_PATH" $DEPLOY_OPTS
@@ -100,6 +104,10 @@ for node in $NODES; do
       $SUDO apt-get install $DEPLOY_DEPENDENCIES -y
     fi
 
+    # Ensure we have a compatible hydra suite
+    #hydra $HYDRA install $node
+    hydractl install
+
     # Collect facts
     hydra_deploy_facts_collect local
 
@@ -124,6 +132,9 @@ for node in $NODES; do
       continue
     fi
 
+    # Ensure we have a compatible hydra suite
+    hydra $HYDRA install $node
+
     # Check remote environment
     $HYDRA_CONNECT $FQDN <<EOF
     ##### BEGIN REMOTE SCRIPT #####
index cfa480c1ee95cbe8eeee761430ad99129ff5043c..a5f1eefb9b686900dba798d362c50f53a8861143 100755 (executable)
@@ -43,7 +43,7 @@ fi
 
 # Deploy
 for node in $NODES; do
-  echo "Installing to $node..."
+  echo "Installing Hydra Suite into $node..."
 
   # Handles localhost
   if [ "$node" == "localhost" ] || [ "$node" == "`facter fqdn`" ] || [ "$node" == "`facter hostname`" ]; then
index fb7f0b95d815be2a7f5ce13ad87a2108791c30f9..1e701804d7adfa7b982e1e6f720634ce0fa5ab03 100755 (executable)
@@ -33,20 +33,20 @@ if ! which git &> /dev/null; then
 fi
 
 # Deploy, rsync version
-if [ "$APP_BASE" != "/usr/local/share/hydra" ]; then
-  echo "Installing into /usr/local/share/hydra..."
-  $sudo rsync -av --delete $APP_BASE/ /usr/local/share/hydra/
+if [ "$APP_BASE" != "$DESTDIR/usr/local/share/hydra" ]; then
+  echo "Installing Hydra Suite into $DESTDIR/usr/local/share/hydra..."
+  $sudo rsync -av --delete $APP_BASE/ $DESTDIR/usr/local/share/hydra/
 fi
 
 # Update symlinks
-$sudo ln -sf /usr/local/share/hydra/hydra  /usr/local/bin/hydra
-$sudo ln -sf /usr/local/share/hydra/hydra  /usr/local/bin/hydractl
-$sudo ln -sf /usr/local/share/hydra/hydras /usr/local/bin/hydras
+$sudo ln -sf /usr/local/share/hydra/hydra  $DESTDIR/usr/local/bin/hydra
+$sudo ln -sf /usr/local/share/hydra/hydra  $DESTDIR/usr/local/bin/hydractl
+$sudo ln -sf /usr/local/share/hydra/hydras $DESTDIR/usr/local/bin/hydras
 
 # Remove from old locations
 # We're keep hydra on /usr/local/bin as /usr/local/sbin might
 # not be available on $PATH when connecting to a remote system.
-$sudo rm -fr /usr/local/hydra
-$sudo rm -f  /usr/local/sbin/hydra
-$sudo rm -f  /usr/local/sbin/hydractl
-$sudo rm -f  /usr/local/sbin/hydras
+$sudo rm -fr $DESTDIR/usr/local/hydra
+$sudo rm -f  $DESTDIR/usr/local/sbin/hydra
+$sudo rm -f  $DESTDIR/usr/local/sbin/hydractl
+$sudo rm -f  $DESTDIR/usr/local/sbin/hydras