This is the article for common understanding of Jenkins, Docker, Shell script and Build Server
Jenkins
Jenkins is the open-source automation server/ tool for Project to build and deploy the images. Jenkins is the application can used in Browser, Windows as well as in Linux.
Jenkins script will have the following parameters,
pipeline, agent, label, stages, stage, and step.
- Pipeline is the collection of jobs which is interlinked with one another in sequence.
- Agent is typically machine or container which executed by Jenkins and the machine or container have the projects / source code.
- Label is the logical expression which determines which agents may execute the build for the project.
- Stages is the block, and it is the collection of more stage.
- Stage is the block, and it is the collection of steps.
- Step is the main execution for build, test and deploy. Step contains single line execution or script that will execute in container or build server.
Syntax of Jenkins
Docker
Docker is the container. Dockerfile is the text file without any file extension and it contains the commands and it will call from commandline while starting the project execution
Shells Script
Here we are talking about the how shells script is used for project
Shells script is used for automation. Shell script have the user level commands and executed in sequence manner. The .sh is file extension of shells script
One more important thing is needs to give the required permission to run the script
chmod +x *.sh
Here the some of the examples for shells script
- Create the folder
- Setup the system for build binary
- Setup the cross toolchain
- Clone the source code
- Setting the environment parameter
- Build the binary
- Copy the binary to backup
- Provide the permission for binary or folder which will access later
- Remove the old binary
- Integrate the conditional parameter as per user inputs
Syntax of shells script
Build Server
As per the Project development, Source code handled by offline as well as online. Build server is like a common platform and it will used by all developers to build the source code independently. Testing team will directly take the binary without copy to the local machine to test.
Build server also used to keep the one backup of working/ stable source code. As well as build server used to keep the Over The Air (OTA) package for software update
Basic requirement of build server is,
- File system have enough space to handle the multiple projects
- Enough space to build the projects
- Enough space to keep the binary for feature development to test and analyse
- The main important factor is connectivity that should not be go down