From 417a6966c35be1d698cb9402757a3bd712a1ce11 Mon Sep 17 00:00:00 2001 From: Thomas Klaehn Date: Thu, 28 Apr 2016 16:05:56 +0200 Subject: [PATCH] wip --- config/framework.tex | 3 ++ content.tex | 61 ++++++++++--------------- img_history.tex | 104 +++++++++---------------------------------- 3 files changed, 47 insertions(+), 121 deletions(-) diff --git a/config/framework.tex b/config/framework.tex index 8869817..13d920d 100644 --- a/config/framework.tex +++ b/config/framework.tex @@ -24,6 +24,7 @@ citecolor = black]{hyperref}% \usepackage{scrpage2}% \usepackage{multido} \usepackage{pstricks} +\usepackage{colortbl} \newcommand*\euler{\mathrm{e}} \input{title.tex} @@ -41,6 +42,8 @@ citecolor = black]{hyperref}% \tableofcontents \newpage \listoffigures +\newpage +\lstlistoflistings \input{config/headfoot.tex} \newpage \input{content.tex} diff --git a/content.tex b/content.tex index 5b827dc..8d1cc6d 100644 --- a/content.tex +++ b/content.tex @@ -65,19 +65,24 @@ As continuous integration system the gitlab built in ci-system \textit{gitlab-ci} is used. Beside the most important task of ci, ensure constant high code quality, the ci system is used for various tasks: \begin{itemize} - \item Automated static code analysis (not implemented yet) + \item Automated static code analysis \item Automated build \item Automated test (not implemented yet) \item Internal release deployment \item External release deployment + \item Automated release note generation (not implemented yet) \end{itemize} \subsection{Internal release deployment} \label{sec:ci_int} -For a branch named \texttt{release/...} an internal release is triggered -automatically. The internal release is processing the following steps:\\ +For a branch named \texttt{release/...} the creation of a release candidate +is triggered automatically. The internal release is processing the following +steps:\\ \begin{enumerate} \item Build project variant specific configuration + \item Static code analysis of project variant specific configuration \item Name the release depending on the release naming convention - \item Deploy the release to the project's internal deploy path + \item Build release notes for the release candidate + \item Deploy the release to the project's release candidate deploy +location \end{enumerate} \subsection{External release deployment} \label{sec:ci_ext} To create an external release the commit to be released must be tagged @@ -85,31 +90,25 @@ using the following naming convention:\\ \texttt{release/}.\\ The project specific naming convention for Agricola ruby is:\\ \texttt{release/174\_AG*}.\\ +\begin{enumerate} + \item Build project variant specific configuration + \item Static code analysis of project variant specific configuration + \item Name the release depending on the release naming convention + \item Build release notes for the release + \item Deploy the release to the project's release deploy location +\end{enumerate} \subsection{Configuring the build jobs} \label{sec:ci_conf} The configuration of gitlab-ci is made in the \texttt{.gitlab-ci.yml} file in the root directory of the project's repository. The certain build stages are using variables to customize the build. These variables are defined in the \texttt{variables} section of the config file.\\\\ \begin{tabular}{l l} - variable & meaning\\ - PRODUCT\_ID & Id of the product\\ + \cellcolor{black}\color{white}variable & \cellcolor{black}\color{white}meaning\\ PRODUCT\_NAME & Short of the product name\\ PRODUCT\_VARIANT & Short of the product variant\\ PROJECT\_VERSION & ??\\ - SW\_MAJOR\_INTERNAL & Software major number for internal\\ - & releases\\ - SW\_MAJOR\_EXTERNAL & Software major number for external\\ - & releases\\ - SW\_MINOR\_INTERNAL & Software minor number for internal\\ - & releases\\ - SW\_MINOR\_EXTERNAL & Software minor number for external\\ - & releases\\ - EXEC\_PATH\_INTERNAL & Location of the built executable for\\ - & internal release\\ - EXEC\_PATH\_EXTERNAL & Location of the built executable for\\ - & external release\\ - DEPLOY\_PATH\_INTERNAL & Location to deploy internal releases to\\ - DEPLOY\_PATH\_EXTERNAL & Location to deploy external releases to\\\\ + SW\_MAJOR & Software major number\\ + SW\_MINOR & Software minor number\\\\ \end{tabular} \newline In listing \ref{lst:ag_cfg} an example configuration for an Agricola North @@ -117,27 +116,15 @@ America variant release is shown. \lstsetbash \begin{lstlisting}[caption=variables configuration, label=lst:ag_cfg] variables: - PRODUCT_ID: "174" PRODUCT_NAME: "AG" PRODUCT_VARIANT: "NA" PROJECT_VERSION: "10" - SW_MAJOR_INTERNAL: "1" - SW_MAJOR_EXTERNAL: "1" - SW_MINOR_INTERNAL: "1" - SW_MINOR_EXTERNAL: "2" - EXEC_PATH_INTERNAL: "./exec/NAR_release/NAR_release.hex" - EXEC_PATH_EXTERNAL: "./exec/NAR_release_customer/\ - NAR_release_customer.hex" - DEPLOY_PATH_INTERNAL: "http://dabsvn01.internal.novero.\ - com/svn/0_31X_P0070_agricola/trunk/development/\ - software/releases/internal" - DEPLOY_PATH_EXTERNAL: "http://dabsvn01.internal.novero.\ - com/svn/0_31X_P0070_agricola/trunk/development/\ - software/releases/external" + SW_MAJOR: "1" + SW_MINOR: "2" \end{lstlisting} -Remember, it is a good idea to change these values before creating the -release branch, creating (and pushing) the branch triggers the build of an -internal release. +\textbf{Remember}, it is a good idea to change these values before creating +the release branch, creating (and pushing) the branch triggers the build of +a release candidate. \begin{figure} \begin{center} diff --git a/img_history.tex b/img_history.tex index 513ce0e..6e35882 100644 --- a/img_history.tex +++ b/img_history.tex @@ -2,135 +2,71 @@ \psset{xunit=10mm,yunit=10mm} \begin{pspicture}(14,16) % \psgrid - \newcommand{\clr}{black} - % phases - \psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](0,2)(14,2) - \psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](0,8)(14,8) - \psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](0,14)(14,14) - \rput{0}(1.5,8){ - \psset{fillcolor=white} - \psset{fillstyle=solid} - \psset{linecolor=\clr} - \psset{framearc=.5} - \psframebox{\textcolor{\clr}{code freeze}} - } - \psline[linewidth=1pt,linecolor=\clr]{<->}(13.5,2)(13.5,8) - \rput{90}(13.5,5){ - \psset{fillcolor=white} - \psset{fillstyle=solid} - \psset{linecolor=\clr} - \psset{framearc=.5} - \psframebox{\textcolor{\clr}{implementation phase}} - } - \psline[linewidth=1pt,linecolor=\clr]{<->}(13.5,8)(13.5,14) - \rput{90}(13.5,11){ - \psset{fillcolor=white} - \psset{fillstyle=solid} - \psset{linecolor=\clr} - \psset{framearc=.5} - \psframebox{\textcolor{\clr}{release phase}} - } - + \newcommand{\clr}{Gray} + \newcommand{\hclr}{RedOrange} % master \newcommand{\masterx}{7} - \psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\masterx,1)(\masterx,15) - \psset{fillcolor=\clr} - \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,2) - \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,3) - \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,7) - \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,8) - \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\masterx,14) + \psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\masterx,8)(\masterx,15) + \psline[linewidth=2pt,linecolor=\hclr](\masterx,1)(\masterx,8) + \psset{fillcolor=\hclr} + \psdot[dotsize=10pt,dotstyle=o,linecolor=\hclr](\masterx,2) + \psdot[dotsize=10pt,dotstyle=o,linecolor=\hclr](\masterx,3) + \psdot[dotsize=10pt,dotstyle=o,linecolor=\hclr](\masterx,7) + \psdot[dotsize=10pt,dotstyle=o,linecolor=\hclr](\masterx,8) \rput(\masterx,0.5){ \psset{fillcolor=white} \psset{fillstyle=solid} - \psset{linecolor=\clr} + \psset{linecolor=\hclr} \psset{framearc=.5} - \psframebox{\textcolor{\clr}{master}} + \psframebox{\textcolor{\hclr}{master}} } % feature/anti_osc - \renewcommand{\clr}{ForestGreen} \newcommand{\featurex}{5} \psline[linewidth=2pt,linecolor=\clr](\masterx,2)(\featurex,3) \psline[linewidth=2pt,linecolor=\clr](\featurex,3)(\featurex,7) \psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\featurex,7)(\masterx,8) - \psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\featurex,2)(\featurex,8) \multido{\nA=3+2}{3}{ \psset{fillcolor=\clr} \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\featurex,\nA) } - \rput(\featurex,1.5){ - \psset{fillcolor=white} - \psset{fillstyle=solid} - \psset{linecolor=\clr} - \psset{framearc=.5} - \psframebox{\textcolor{\clr}{feature/anti\_osc}} - } % old_branch - \renewcommand{\clr}{Gray} \newcommand{\xpos}{9} \psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\xpos,2)(\masterx,3) \psline[linewidth=2pt,linecolor=\clr](\xpos,1)(\xpos,2) % fix/calibration_crc - \renewcommand{\clr}{Maroon} \newcommand{\fixx}{9} \psline[linewidth=2pt,linecolor=\clr](\masterx,3)(\fixx,4) \psline[linewidth=2pt,linecolor=\clr](\fixx,4)(\fixx,6) \psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\fixx,6)(\masterx,7) - \psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\fixx,3)(\fixx,7) \multido{\nA=4+2}{2}{ \psset{fillcolor=\clr} \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,\nA) } - \rput(\fixx,2.5){ - \psset{fillcolor=white} - \psset{fillstyle=solid} - \psset{linecolor=\clr} - \psset{framearc=.5} - \psframebox{\textcolor{\clr}{fix/calibration\_crc}} - } % feature/dynamic_monitoring - \renewcommand{\clr}{RoyalBlue} \renewcommand{\fixx}{11} \psline[linewidth=2pt,linecolor=\clr](\masterx,3)(\fixx,4) \psline[linewidth=2pt,linecolor=\clr,arrowsize=15pt]{->}(\fixx,4)(\fixx,12) - \psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\fixx,3)(\fixx,4) - \rput(\fixx,12.5){ - \psset{fillcolor=white} - \psset{fillstyle=solid} - \psset{linecolor=\clr} - \psset{framearc=.5} - \psframebox{\textcolor{\clr}{feature/dyn\_mon}} - } \psset{fillcolor=\clr} \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,4) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,6) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,8) \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,10) % release/NAR_C0 - \renewcommand{\clr}{RedOrange} \renewcommand{\fixx}{5} - \psline[linewidth=2pt,linecolor=\clr](\masterx,8)(\fixx,9) - \psline[linewidth=2pt,linecolor=\clr](\fixx,9)(\fixx,13) - \psline[linewidth=1pt,linecolor=\clr,linestyle=dashed](\fixx,8)(\fixx,14) - \psline[linewidth=2pt,linecolor=\clr,linestyle=dashed,arrowsize=15pt]{->}(\fixx,13)(\masterx,14) + \psline[linewidth=2pt,linecolor=\hclr](\masterx,8)(\fixx,9) + \psline[linewidth=2pt,linecolor=\hclr](\fixx,9)(\fixx,13) + \psline[linewidth=1pt,linecolor=\hclr,linestyle=dashed](\fixx,8)(\fixx,14) \rput(\fixx,14.5){ \psset{fillcolor=white} \psset{fillstyle=solid} - \psset{linecolor=\clr} + \psset{linecolor=\hclr} \psset{framearc=.5} - \psframebox{\textcolor{\clr}{release/NAR\_C0}} + \psframebox{\textcolor{\hclr}{release/NAR\_C0}} } - \rput(2.5,13){ - \psset{fillcolor=\clr} - \psset{fillstyle=solid} - \psset{linecolor=\clr} - \psset{framearc=.5} - \psframebox{\textcolor{white}{\shortstack{tags/release/\\174\_AG\_NA\_10-01.02}}} - } - \psset{fillcolor=\clr} - \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,9) - \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,11) - \psdot[dotsize=10pt,dotstyle=o,linecolor=\clr](\fixx,13) + \psset{fillcolor=\hclr} + \psdot[dotsize=10pt,dotstyle=o,linecolor=\hclr](\fixx,9) + \psdot[dotsize=10pt,dotstyle=o,linecolor=\hclr](\fixx,11) + \psdot[dotsize=10pt,dotstyle=o,linecolor=\hclr](\fixx,13) \end{pspicture}