Note: About the Lab
Start building your Lab - Create a Virtual Machine using VirtualBox
Start building your Lab - Install CentOs
Start building your Lab - Configure Putty
Install Docker
Install Docker Compose
Download the Jenkins Docker Image
Create a Docker Compose file for Jenkins
Create a Docker Container for Jenkins
Troubleshooting: Jenkins not coming up?
Create a local DNS for your Jenkins server
Note: You should keep using putty
Learn how to work with Docker and Jenkins
Bonus
Getting Started with Jenkins
Introduction to Jenkins UI
Hands On! Create your first Jenkins Job
Keep playing with your first Job
Redirect your first Job's output
Learn how to execute a bash script from Jenkins
Add parameters to your Job
Learn how to create a Jenkins list parameter with your script
Add basic logic and boolean parameters
Jenkins & Docker
Docker + Jenkins + SSH - I
Troubleshooting: remote-host image not building correctly?
Docker + Jenkins + SSH - II
Docker + Jenkins + SSH - III
Learn how to install Jenkins Plugins (SSH Plugin)
Integrate your Docker SSH server with Jenkins
Run your a Jenkins job on your Docker remote host through SSH
Jenkins & AWS
Introduction: MySQL + AWS + Shell Scripting + Jenkins
Create a MySQL server on Docker
Install MySQL Client and AWS CLI
Create a MySQL Database
Create a S3 Bucket on AWS
Create a user (IAM) for AWS authentication
Learn how to take a backup and upload it manually to S3
Automate the backup and upload process with a shell script
Integrate your script with AWS CLI
Learn how to manage sensitive information in Jenkins (Keys, Passwords)
Create a Jenkins job to upload your DB to AWS
Execute your Job and be happy!
Persist the script on the remote host
Reuse your Job to upload different DB's to different buckets
Jenkins & Ansible
Introduction: Jenkins + Ansible
Install Ansible: Docker + Jenkins
Make the ssh keys permanent on the Jenkins container
Create a simple Ansible Inventory
Create your first Ansible Playbook
Integrate Ansible and Jenkins (Ansible Plugin)
Learn how to execute Playbooks from a Jenkins Job
Power up! Add parameters to Ansible and Jenkins
Missing the colors? Colorize your playbooks' output
Challenge: Jenkins + Ansible + MySQL + PHP + NGINX + Shell Scripting
Create the DB that will hold all the users
Create a Bash Script to feed your DB - I
Create a Bash Script to feed your DB - II
Test your Script inserting the data to the DB
Start building a Docker Nginx Web Server + PHP - I
Start building a Docker Nginx Web Server + PHP - II
Build a table using HTML, CSS and PHP to display users
Integrate your Docker Web Server to the Ansible Inventory
Create a Playbook in Ansible to update your web table
Test your playbook and see the magic!
Ready? Let's create a Jenkins Job to build everything with a click!
Jenkins & Security
Intro - Learn how to Enable/Disable Login in Jenkins
Allow users to sign up
Install a powerful security plugin
Create users manually in the Jenkins DB
Ever heard about roles? Let's create a Read Only role!
Assign the role that you created to a particular user
Create a role to execute jobs, and assign that role to your user
Learn how to restrict Jobs to users using Project Roles.
Jenkins Tips & Tricks
Global environment variables in Jenkins
Create your own custom global environment variables
Modify the Jenkins URL
Meet the Jenkins' cron: Learn how to execute Jobs automatically
Learn how to trigger Jobs from external sources: Create a generic user
Troubleshooting: Githooks throwing 403 forbidden errors?
Trigger your Jobs from Bash Scripts (No parameters)
Trigger your Jobs from Bash Scripts (With Parameters)
Jenkins & Email
Introduction: Jenkins & Email
Install a Mail Plugin
Integrate Jenkins and AWS Simple Email Service
Integrate Jenkins and Gmail
Add notifications to your jobs
Jenkins & Maven
Introduction: Jenkins & Maven
Install the Maven Plugin
Install the GIT Plugin