Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/php
- <?php
- include('connect.php');
- $deploymentAction = $argv[1];
- $verNum= $argv[2];
- $ipAdd=$argv[3];
- if($argv[1] && $argv[2] && $argv[3] ){
- echo " DEPLOYMENT ACTIONS \n ";
- echo "Please Choose a Function followed by Version Number and <IP>\n";
- echo "----------------------------------------------------\n";
- echo " (1)-vpaks: (2)-automatedInstall: (3)-Rollback \n";
- echo "----------------------------------------------------\n";
- echo " 1.0(Dev) | 2.0(QA) | 3.0(Prod.) \n";
- }
- $stmt = "SELECT versionNumber FROM Versions";
- $result = $conn->query($stmt);
- if ($result->num_rows > 0){
- while($row = $result->fetch_assoc()) {
- $rowVersion = $row["versionNumber"];
- if($rowVersion != $verNum){
- echo "Invalid version Number: Appropriate Versions Include: ".$rowVersion."\n";
- echo "Try Again";
- }
- $getsqlVnum = "SELECT frontEnd, backEnd, DMZ FROM Versions WHERE cast(versionNumber as decimal(10,6)) = 1.2";
- $res=$conn->query($getsqlVnum);
- if ($result->num_rows > 0){
- while($row = $res->fetch_assoc()) {
- echo "Curent Version tables:\n";
- }
- function bundleDevPackage($verNum,$ipAdd){
- echo "\nCreating Dev pack\n";
- echo "Syncing contents\n";
- echo "SCP'ing to $ipAdd\n";
- shell_exec("
- cd ~/
- mkdir 'Pak'-'$verNum'
- rsync -av /home/cmondragon/milestones/integrations/deployment ~/'Pak'-'$verNum'
- tar -cvzf Pak'-'$verNum.tar.gz Pak'-'$verNum
- scp -r Pak'-'$verNum.tar.gz blackout@$ipAdd:
- ");
- }
- //------------------------------------------------------------------------------------
- function getVerNum(){
- /*
- $servername = "localhost";
- $username = "root";
- $password = "chemistry";
- $dbname = "Versions";
- $conn = new mysqli($servername, $username, $password, $dbname);
- if ($conn->connect_error)
- {
- die("Connection failed: " . $conn->connect_error);
- }
- $sql = "SELECT versionNumber FROM Versions";
- $result = $conn->query($sql);
- if ($result->num_rows > 0){
- while($row = $result->fetch_assoc()) {
- $rowVersion = $row["versionNumber"];
- if($rowVersion != $verNum){
- echo "Invalid version Number: Appropriate Versions Include: ".$rowVersion."\n";
- }
- print "Version Number: " . $rowVersion."\n";
- }
- } else {
- echo "No Version Number\n";
- }
- */
- $servername = "localhost";
- $username = "root";
- $password = "chemistry";
- $dbname = "Versions";
- $conn = new mysqli($servername, $username, $password, $dbname);
- if ($conn->connect_error) {
- die("Connection failed: " . $conn->connect_error);
- }
- $sql = "SELECT versionNumber FROM Versions WHERE cast(versionNumber as decimal(2,1)) =$checkvir";
- $sql2 = "SELECT versionNumber FROM Versions";
- $result = $conn->query($sql);
- $result2= $conn->query($sql2);
- if ($result->num_rows > 0){
- while($row = $result->fetch_assoc()) {
- $rowVersion = $row["versionNumber"];
- if($rowVersion == $verNum){
- echo "Version: ".$rowVersion." is set to Deploy\n";
- }
- }
- }
- else{
- if ($result2->num_rows > 0){
- while($row = $result2->fetch_assoc()) {
- $rowVersion = $row["versionNumber"];
- echo "Invalid Version Number. Appropriate Versions include: ". $rowVersion."\n";
- }
- }
- }
- //--------------------------------------------------------------------------------------------------
- function deployInstall(){
- shell_exec("
- ssh blackout@$ipAdd
- cd ~/
- tar -xcvf Pak'-'$verNum.tar.gz");
- )
- }
- //------------------------------------------------------------------
- switch ($deploymentAction)
- {
- case "vpaks":
- echo "Returning Current Version Number from Database\n";
- getVerNum();
- //ideally this would be split into frontend/backend/dmz content
- echo "Bundling Contents from ../public_html/deployment\n";
- echo "Sending tar package to $ipAdd";
- bundleDevPackage($verNum,$ipAdd);
- break;
- case "automatedInstall":
- echo "SSH'ing to $ipAdd";
- echo "Extracting Contents from Tar Ball";
- deployInstall();
- break;
- case "rollback":
- echo "Rolling Back to a previous version\n";
- break;
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement