Skip to content
Snippets Groups Projects
Commit ce81fecf authored by hahn's avatar hahn
Browse files

- fixes nach Umstellung der mod_rewrite Regel

- build und accept vergleichen beide die Revisons
- Ausgabe der URL in den Detailblöcken der Phasen
parent 0445e63a
Branches
No related tags found
No related merge requests found
......@@ -35,7 +35,20 @@ if (array_key_exists("confirm", $aParams)) {
URL: <a href="'.$sUrl.'">'.$sUrl.'</a><br>
Die Software wurde erfolgreich getestet und soll auf die n&auml;chste
Phase <span class="'.$sNext.'">'.$sNext.'</span> ausgerollt werden?<br>
</p>
</p>';
if (
array_key_exists("revision", $aPhaseData2["onhold"])
&& $aPhaseData2["onhold"]["revision"]==$aPhaseData["deployed"]["revision"]
){
$sOut.=getBox("warning", "In der Queue von [$sNext] ist die Version von [$sPhase] bereits vorhanden!");
}
if (
array_key_exists("revision", $aPhaseData2["ready4deployment"])
&& $aPhaseData2["ready4deployment"]["revision"]==$aPhaseData["deployed"]["revision"]
){
$sOut.=getBox("warning", "Im Repo von [$sNext] ist die Version von [$sPhase] bereits vorhanden!");
}
$sOut.='
<table>
<thead>
<tr>
......@@ -67,18 +80,6 @@ if (array_key_exists("confirm", $aParams)) {
<br>
';
if (
array_key_exists("revision", $aPhaseData2["onhold"])
&& $aPhaseData2["onhold"]["revision"]==$aPhaseData["deployed"]["revision"]
){
$sOut.=getBox("warning", "In der Queue von [$sNext] ist die Version von [$sPhase] bereits vorhanden!");
}
if (
array_key_exists("revision", $aPhaseData2["ready4deployment"])
&& $aPhaseData2["ready4deployment"]["revision"]==$aPhaseData["deployed"]["revision"]
){
$sOut.=getBox("warning", "Im Repo von [$sNext] ist die Version von [$sPhase] bereits vorhanden!");
}
// Eingabe Kommentare zum Deployment
......
......@@ -15,11 +15,26 @@ if (array_key_exists("confirm", $aParams)) {
$sOut.=$oPrj->build();
} else {
$sNext=$oPrj->getNextPhase();
$aPhaseData2=$oPrj->getPhaseInfos($sNext);
$sOut.='
<p>
Es wird ein neues Paket erstellt und f&uuml;r die Phase <em class="'.$sNext.'">'.$sNext.'</em> bereitgestellt.<br>
</p>
</p>';
$sRevison=$oPrj->getRepoRevision(true);
if (
array_key_exists("revision", $aPhaseData2["onhold"])
&& $aPhaseData2["onhold"]["revision"]==$sRevison
){
$sOut.=getBox("warning", "In der Queue von [$sNext] ist die Version bereits $sRevison vorhanden!");
}
if (
array_key_exists("revision", $aPhaseData2["ready4deployment"])
&& $aPhaseData2["ready4deployment"]["revision"]==$sRevison
){
$sOut.=getBox("warning", "Im Repo von [$sNext] ist die Version $sRevison bereits vorhanden!");
}
$sOut.='
<table>
<thead>
<tr>
......
......@@ -124,6 +124,7 @@
a.info:hover { text-decoration: none; background: #fff;}
a.info span{ display: none; position: absolute; background: #fff; padding: 0.5em; box-shadow: 0 0 10px #aaa;}
a.info:hover span{ display: block; text-decoration: none;}
a.info span span.title{ background: #888; color:#f8f8f8; padding: 0.5em 0.5em; display: block; box-shadow: 0 0 5px #ccc;}
.infobox{
background:#fea; background: linear-gradient(#fea,#fff8f0,#fea);
......
......@@ -359,7 +359,7 @@ class project {
}
// keep a few
while (count($aDirlist)>$this->_aConfig["builtsToKeep"]){
while (count($aDirlist)>=$this->_aConfig["builtsToKeep"]){
$sVersion=array_shift($aDirlist);
$sDir2=$sDir.'/'.$sVersion;
if ($this->_rmdir($sDir2)){
......@@ -595,6 +595,33 @@ class project {
return false;
}
/**
* get current revision from remote repo
* @return string
*/
public function getRepoRevision($bRefresh=false){
$sReturn="";
/*
if (
array_key_exists("source", $this->_aData["phases"])
&& $this->_aData["phases"]["source"]
&& $bRefresh==false
) return $this->_aData["phases"]["source"];
*/
switch ($this->_aPrjConfig["build"]["type"]) {
case "git":
$sKeyfile = dirname(dirname(__file__)) . "/" . $this->_aPrjConfig["build"]["keyfile"];
$sWrapper = dirname(dirname(dirname(dirname(__file__)))) . "/shellscripts/gitsshwrapper.sh";
$sGitCmd="git ls-remote --heads " . $this->_aPrjConfig["build"]["ssh"] . " master | awk '{ print $1 }'";
$sRevision=shell_exec("export GIT_SSH=$sWrapper ; export PKEY=$sKeyfile; $sGitCmd");
$sReturn=trim($sRevision);
$this->_aData["phases"]["source"]=$sReturn;
break;
default:
die("getRepoRevision(): Build Type not supported: " . $this->_aPrjConfig["build"]["type"]. $sReturn);
}
return $sReturn;
}
// ----------------------------------------------------------------------
// SETTER
......@@ -897,13 +924,10 @@ class project {
// create the new link
// --------------------------------------------------
$this->_iRcAll = 0;
/*
if (file_exists($sLinkName)) {
$sReturn.="removing existing version<br>";
$sReturn.=$this->_execAndSend("rm -f $sLinkName");
}
*
*/
$sReturn.="linking to new version <br>";
$sReturn.=$this->_execAndSend("ln -s $sLinkTarget $sLinkName");
$sReturn.=$this->_execAndSend("ls -l $sLinkName | fgrep $sLinkTarget");
......@@ -1165,15 +1189,22 @@ class project {
// TODO: getChecksumDiv anhand der Repo-Versionsnummer - dann kann man beim build auch die Farbe mit dem Repo HEAD vergleichen
$sReturn .= '
'.$this->getChecksumDiv($aData["revision"]).'
<i class="icon-calendar"></i> Build vom ' . date("d.m.Y H:i:s", strtotime($aData["date"])) . '<br>';
<i class="icon-calendar"></i> Build vom ' . date("d.m.Y H:i:s", strtotime($aData["date"]));
if ($bLong){
$sReturn.='<i class="icon-tag"></i> Revision: ' . $aData["revision"] . '<br>
$sReturn.='<br><i class="icon-tag"></i> Revision: ' . $aData["revision"] . '<br>
<i class="icon-comment"></i> Commit-Message:<br><pre>' . $aData["message"] . '</pre>';
if ($sPlace=="deployed" && array_key_exists("url", $this->_aPrjConfig["phases"][$sPhase])) {
$sReturn.='<i class="icon-globe"></i> URL: <a href="'.$this->_aPrjConfig["phases"][$sPhase]["url"].'">'.$this->_aPrjConfig["phases"][$sPhase]["url"].'</a><br>';
}
} else {
$sReturn.=' <a href="#" class="info">Info<span>'
. '<span class="title '.$sPhase.'">'."$sPhase :: $sPlace</strong></span><br><br>"
. '<i class="icon-tag"></i> Revision: ' . $aData["revision"] . '<br>'
. '<i class="icon-comment"></i> Commit-Message:<pre>' . $aData["message"] . '</pre>'
. '</span></a>';
. '<i class="icon-comment"></i> Commit-Message:<pre>' . $aData["message"] . '</pre>';
if ($sPlace=="deployed" && array_key_exists("url", $this->_aPrjConfig["phases"][$sPhase])) {
$sReturn.='<i class="icon-globe"></i> URL: '.$this->_aPrjConfig["phases"][$sPhase]["url"].'<br>';
}
$sReturn.='</span></a><br>';
}
switch ($sPlace) {
......@@ -1266,10 +1297,10 @@ class project {
$sWrapper = dirname(dirname(dirname(dirname(__file__)))) . "/shellscripts/gitsshwrapper.sh";
$sGitCmd="git ls-remote --heads " . $this->_aPrjConfig["build"]["ssh"] . " master | awk '{ print $1 }'";
$sRevision=shell_exec("export GIT_SSH=$sWrapper ; export PKEY=$sKeyfile; $sGitCmd");
$sRevision=trim($sRevision);
$sRevision=$this->getRepoRevision();
$sReturn.=$this->getChecksumDiv($sRevision);
$sReturn.= '<i class="icon-tag"></i> Revision: '.$sRevision;
// $sReturn.="<br>$sGitCmd<br>";
$sReturn.="<br>$sGitCmd";
break;
......@@ -1280,7 +1311,7 @@ class project {
}
/**
* return html code for the puilt package and their usage
* return html code for a list of all built packages and their usage
* @return string
*/
public function renderVersionUsage(){
......
......@@ -30,10 +30,10 @@ $aConfig=array(
),
"stage"=>array(
/*
*/
"deploytimes"=>array(
'/(Mon|Tue|Wed|Thu)\ 14\:0/',
'/(Mon|Tue|Wed|Thu)\ 15\:0/',
),
*/
),
"live"=>array(
// wenn deploytimes existiert, dann wird nach dem Deploy das Paket
......
......@@ -16,18 +16,17 @@ $aTmp=preg_split("#/#", $_SERVER["REQUEST_URI"]);
if (count($aTmp)>1 && $aTmp[1]=="deployment" && $aTmp[2]!="?"){
array_shift($aTmp);
array_shift($aTmp);
$aParams["prj"]=$aTmp[0];
if ($aTmp[count($aTmp)-1]=="?"){
array_pop($aTmp);
}
if (count($aTmp)>1) $aParams["action"]=$aTmp[1];
if (count($aTmp)>2) $aParams["par3"]=$aTmp[2];
if (count($aTmp)>3) $aParams["par4"]=$aTmp[3];
if ($aTmp[0]) $aParams["prj"]=$aTmp[0];
if (count($aTmp)>1 && $aTmp[1]) $aParams["action"]=$aTmp[1];
if (count($aTmp)>2 && $aTmp[2]) $aParams["par3"]=$aTmp[2];
if (count($aTmp)>3 && $aTmp[3]) $aParams["par4"]=$aTmp[3];
}
if (count($_GET)) foreach($_GET as $key=>$value) $aParams[$key]=$value;
if (count($_POST)) foreach($_POST as $key=>$value) $aParams[$key]=$value;
// print_r($aParams);
$sImageBase="/deployment/images/nuvola64x64/";
$aImages=array(
......@@ -187,7 +186,7 @@ function getBox($sWarnlevel, $sMessage){
"error"=>array("class"=>"alert alert-error", "prefix"=>"ERROR :-("),
"success"=>array("class"=>"alert alert-success", "prefix"=>"SUCCESS :-)"),
"info"=>array("class"=>"alert alert-info", "prefix"=>"INFO"),
"warning"=>array("class"=>"alert alert-block", "prefix"=>"WARNING"),
"warning"=>array("class"=>"alert alert-block", "prefix"=>"WARNUNG"),
);
$sClass="";
$sPrefix="";
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment