Advertisement
Guest User

Untitled

a guest
May 6th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.27 KB | None | 0 0
  1. #!/usr/bin/php
  2. <?php
  3.  
  4. include('connect.php');
  5.  
  6. $deploymentAction = $argv[1];
  7. $verNum= $argv[2];
  8. $ipAdd=$argv[3];
  9.  
  10. if($argv[1] && $argv[2] && $argv[3] ){
  11.  
  12. echo " DEPLOYMENT ACTIONS \n ";
  13. echo "Please Choose a Function followed by Version Number and <IP>\n";
  14.  
  15. echo "----------------------------------------------------\n";
  16. echo " (1)-vpaks: (2)-automatedInstall: (3)-Rollback \n";
  17. echo "----------------------------------------------------\n";
  18. echo " 1.0(Dev) | 2.0(QA) | 3.0(Prod.) \n";
  19. }
  20.  
  21. $stmt = "SELECT versionNumber FROM Versions";
  22. $result = $conn->query($stmt);
  23.  
  24. if ($result->num_rows > 0){
  25. while($row = $result->fetch_assoc()) {
  26. $rowVersion = $row["versionNumber"];
  27. if($rowVersion != $verNum){
  28. echo "Invalid version Number: Appropriate Versions Include: ".$rowVersion."\n";
  29. echo "Try Again";
  30. }
  31.  
  32.  
  33. $getsqlVnum = "SELECT frontEnd, backEnd, DMZ FROM Versions WHERE cast(versionNumber as decimal(10,6)) = 1.2";
  34. $res=$conn->query($getsqlVnum);
  35.  
  36. if ($result->num_rows > 0){
  37. while($row = $res->fetch_assoc()) {
  38. echo "Curent Version tables:\n";
  39.  
  40.  
  41.  
  42. }
  43.  
  44. function bundleDevPackage($verNum,$ipAdd){
  45.  
  46. echo "\nCreating Dev pack\n";
  47. echo "Syncing contents\n";
  48. echo "SCP'ing to $ipAdd\n";
  49.  
  50. shell_exec("
  51. cd ~/
  52. mkdir 'Pak'-'$verNum'
  53. rsync -av /home/cmondragon/milestones/integrations/deployment ~/'Pak'-'$verNum'
  54. tar -cvzf Pak'-'$verNum.tar.gz Pak'-'$verNum
  55. scp -r Pak'-'$verNum.tar.gz blackout@$ipAdd:
  56.  
  57. ");
  58. }
  59.  
  60. //------------------------------------------------------------------------------------
  61.  
  62. function getVerNum(){
  63.  
  64. /*
  65. $servername = "localhost";
  66. $username = "root";
  67. $password = "chemistry";
  68. $dbname = "Versions";
  69.  
  70.  
  71. $conn = new mysqli($servername, $username, $password, $dbname);
  72.  
  73. if ($conn->connect_error)
  74. {
  75. die("Connection failed: " . $conn->connect_error);
  76. }
  77.  
  78. $sql = "SELECT versionNumber FROM Versions";
  79. $result = $conn->query($sql);
  80.  
  81. if ($result->num_rows > 0){
  82. while($row = $result->fetch_assoc()) {
  83. $rowVersion = $row["versionNumber"];
  84. if($rowVersion != $verNum){
  85. echo "Invalid version Number: Appropriate Versions Include: ".$rowVersion."\n";
  86. }
  87. print "Version Number: " . $rowVersion."\n";
  88. }
  89. } else {
  90. echo "No Version Number\n";
  91. }
  92.  
  93. */
  94.  
  95.  
  96.  
  97. $servername = "localhost";
  98. $username = "root";
  99. $password = "chemistry";
  100. $dbname = "Versions";
  101.  
  102. $conn = new mysqli($servername, $username, $password, $dbname);
  103.  
  104. if ($conn->connect_error) {
  105. die("Connection failed: " . $conn->connect_error);
  106. }
  107.  
  108. $sql = "SELECT versionNumber FROM Versions WHERE cast(versionNumber as decimal(2,1)) =$checkvir";
  109. $sql2 = "SELECT versionNumber FROM Versions";
  110.  
  111. $result = $conn->query($sql);
  112. $result2= $conn->query($sql2);
  113.  
  114. if ($result->num_rows > 0){
  115. while($row = $result->fetch_assoc()) {
  116. $rowVersion = $row["versionNumber"];
  117. if($rowVersion == $verNum){
  118. echo "Version: ".$rowVersion." is set to Deploy\n";
  119. }
  120. }
  121. }
  122. else{
  123. if ($result2->num_rows > 0){
  124. while($row = $result2->fetch_assoc()) {
  125. $rowVersion = $row["versionNumber"];
  126. echo "Invalid Version Number. Appropriate Versions include: ". $rowVersion."\n";
  127. }
  128. }
  129. }
  130.  
  131.  
  132.  
  133. //--------------------------------------------------------------------------------------------------
  134.  
  135. function deployInstall(){
  136.  
  137. shell_exec("
  138. ssh blackout@$ipAdd
  139. cd ~/
  140. tar -xcvf Pak'-'$verNum.tar.gz");
  141.  
  142. )
  143.  
  144. }
  145.  
  146.  
  147. //------------------------------------------------------------------
  148. switch ($deploymentAction)
  149. {
  150. case "vpaks":
  151. echo "Returning Current Version Number from Database\n";
  152. getVerNum();
  153. //ideally this would be split into frontend/backend/dmz content
  154. echo "Bundling Contents from ../public_html/deployment\n";
  155. echo "Sending tar package to $ipAdd";
  156. bundleDevPackage($verNum,$ipAdd);
  157. break;
  158.  
  159. case "automatedInstall":
  160. echo "SSH'ing to $ipAdd";
  161. echo "Extracting Contents from Tar Ball";
  162. deployInstall();
  163.  
  164.  
  165. break;
  166. case "rollback":
  167. echo "Rolling Back to a previous version\n";
  168. break;
  169. }
  170. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement