Commit 00e35cbb authored by  Joe  Rackham's avatar Joe Rackham
Browse files

Add CICD guide

parent 0652c0ec
Pipeline #142228 passed with stage
in 5 seconds
......@@ -3,9 +3,11 @@ pdf:
- xelatex ./git_guide.tex
- xelatex ./terminal_guide.tex
- xelatex ./vscode_guide.tex
- xelatex ./cicd_guide.tex
- git_guide.pdf
- terminal_guide.pdf
- vscode_guide.pdf
- cicd_guide.pdf
expire_in: 1 year
......@@ -6,5 +6,6 @@ Here is a selection of guides i've made for popular development tools. These wer
- [Git](
- [The Bash Terminal](
- [Visual Stuido Code](
- [CI/CD Tools](
[Download all Guides as zip](
\ No newline at end of file
\usepackage[portrait, margin=1in]{geometry}
\title{Continuous Integration and Deployment Tools Guide}
\author{Joe Rackham}
\subsection{What is Docker?}
\item Docker is a tool that allows developers to deploy applications in sandboxes called containers
\item Containers package an application together with it's dependencies but are more lightweight than virtual machines
\subsection{Creating images}
\item To create an image from a repo we need to add a \texttt{Dockerfile} this which details how the image should be built
\item \texttt{FROM *image\_name*} - Which image should this one be based on, there are generic base images like \texttt{ubuntu} or ones that might be more project specific like \texttt{python}
\item \texttt{WORKDIR *path*} - Sets a directory for the app
\item \texttt{COPY *container\_path* *repo\_path*} - Copies files into the container
\item \texttt{RUN *cmd*} - Runs a command inside the container
\item \texttt{EXPOSE *ports*} - Exposes ports from the container
\item \texttt{CMD []} - Defines the default command to run when the container starts
\subsection{Running a container}
\item \texttt{docker run *image\_name*} will create and run a container from an image
\item \texttt{-it} - Runs an interactive terminal in the container
\item \texttt{-rm} - Automatically delete the container once it's terminated
\item \texttt{-d} - Detaches the terminal from the running container
\item \texttt{--name} - Gives the container a name so the id isn't needed
\item \texttt{docker stop *container\_id*} - Stops a running container
\subsubsection{Running a Web App}
\item \texttt{-p} - Publishes all exposed ports with the mapping provided
\item \texttt{-P} - Publishes all exposed ports to random port
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment