Advertisement
Guest User

Untitled

a guest
May 7th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.25 KB | None | 0 0
  1. !/usr/bin/php
  2. <?php
  3.  
  4.  
  5. $deploymentAction = $argv[1];
  6. $verNum= $argv[2];
  7.  
  8.  
  9. if($argv[1] && $argv[2] && $argv[3] ){
  10.  
  11. echo " DEPLOYMENT ACTIONS \n ";
  12. echo "Please Choose a Function followed by Version Number and <IP>\n";
  13.  
  14. echo "----------------------------------------------------\n";
  15. echo " (1)-vpaks: (2)-automatedInstall: (3)-Rollback \n";
  16. echo "----------------------------------------------------\n";
  17. echo " 1.0(Dev) | 2.0(QA) | 3.0(Prod.) \n";
  18. }
  19.  
  20.  
  21.  
  22.  
  23. function bundleDevPackage($verFile,$ipAdd){
  24.  
  25.  
  26. shell_exec("
  27. scp -r $verFile blackout@$192.168.1.$ipAdd:
  28.  
  29. ");
  30. }
  31.  
  32.  
  33. function deployFE($rollout){
  34.  
  35. $servername = "localhost";
  36. $username = "root";
  37. $password = "chemistry";
  38. $dbname = "Versions";
  39.  
  40. $conn = new mysqli($servername, $username, $password, $dbname);
  41.  
  42. if ($conn->connect_error) {
  43. die("Connection failed: " . $conn->connect_error);
  44. }
  45.  
  46. $sql = "SELECT frontEnd FROM Versions WHERE cast(versionNumber as decimal(2,1)) =$verNum";
  47.  
  48. $result = $conn->query($sql);
  49.  
  50. if ($result->num_rows > 0){
  51. while($row = $result->fetch_assoc()) {
  52. $rowVersion = $row["frontEnd"];
  53. echo $rowVersion." is set to Deploy\n";
  54. //return $rowVersion;
  55. }
  56.  
  57. }
  58.  
  59. $rollout = argv[2];
  60. $ip = "1" . $rollout . "2";
  61.  
  62. bundleDevPackage($rowVersion,$ip);
  63.  
  64. }
  65.  
  66.  
  67. function deployBE(){
  68.  
  69.  
  70. }
  71.  
  72.  
  73. function deployDMZ(){
  74.  
  75.  
  76. }
  77. //------------------------------------------------------------------------------------
  78.  
  79. function checkVerNum($verNum){
  80.  
  81. $servername = "localhost";
  82. $username = "root";
  83. $password = "chemistry";
  84. $dbname = "Versions";
  85.  
  86. $conn = new mysqli($servername, $username, $password, $dbname);
  87.  
  88. if ($conn->connect_error) {
  89. die("Connection failed: " . $conn->connect_error);
  90. }
  91.  
  92. $sql = "SELECT versionNumber FROM Versions WHERE cast(versionNumber as decimal(2,1)) =$verNum";
  93. $sql2 = "SELECT versionNumber FROM Versions";
  94.  
  95. $result = $conn->query($sql);
  96. $result2= $conn->query($sql2);
  97.  
  98. if ($result->num_rows > 0){
  99. while($row = $result->fetch_assoc()) {
  100. $rowVersion = $row["versionNumber"];
  101. if($rowVersion == $verNum){
  102. echo "Version: ".$rowVersion." is set to Deploy\n";
  103. //return $rowVersion;
  104. }
  105.  
  106. }
  107. return true;
  108.  
  109. }
  110. else{
  111. if ($result2->num_rows > 0){
  112. while($row = $result2->fetch_assoc()) {
  113. $rowVersion = $row["versionNumber"];
  114. echo "Invalid Version Number. Appropriate Versions include: ". $rowVersion."\n";
  115. }
  116. }
  117. return false;
  118. }
  119.  
  120.  
  121. }
  122.  
  123. //--------------------------------------------------------------------------------------------------
  124.  
  125. function deployInstall(){
  126.  
  127. shell_exec("
  128. ssh blackout@$ipAdd
  129. cd ~/
  130. tar -xcvf Pak'-'$verNum.tar.gz");
  131.  
  132. }
  133.  
  134.  
  135. //------------------------------------------------------------------
  136. switch ($deploymentAction)
  137. {
  138. case "vpaks":
  139.  
  140. checkVerNum($verNum)
  141.  
  142.  
  143.  
  144. break;
  145.  
  146. case "automatedInstall":
  147. if(checkVerNum()){
  148. deployFE($argv[3]);
  149. }
  150.  
  151.  
  152.  
  153.  
  154. break;
  155. case "rollback":
  156. echo "Rolling Back to a previous version\n";
  157. break;
  158. }
  159. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement