# How to create simple setup with docker-compose

Look this [url](https://www.cloudbees.com/blog/how-to-install-and-run-jenkins-with-docker-compose)
Note: in This link jvm /java path is wrong  =>/opt/java/openjdk/bin/java

# Reddit recommendations

[YOUTUBE](https://youtu.be/MTm3cb7qiEo?list=PLVx1qovxj-akoYTAboxT1AbHlPmrvRYYZ)
[Docs](https://www.jenkins.io/doc/pipeline/tour/getting-started/)

Install Linux slave in jenkins [url](https://youtu.be/pzG_ZQNbZug)
Install Windows slave in windows [url](https://youtu.be/655a1itG3xg?list=PLVx1qovxj-akoYTAboxT1AbHlPmrvRYYZ)



====================================================
Books
* Jenkins: The Definitive Guide
* Jenkins 2: Up and Running Evolve Your Deployment Pipeline for Next Generation Automation

# Jenkins: The Definitive Guide



[Github Repo Link](https://github.com/ricardoandre97/jenkins-resources.git)

Continuous Integration is about reducing risk by providing faster feedback.
First and foremost, it is designed to help identify and fix integration and regression issues faster, resulting in smoother, quicker delivery, and fewer bugs.
The practice of automatically deploying every successful build directly into production is generally known as Continuous Deployment. However, a pure Continuous Deployment approach is not always appropriate for everyone. For example, many users would not appreciate new versions falling into their laps several times a week, and prefer a more predictable (and transparent) release cycle. Commercial and marketing considerations might also play a role in when a new release should actually be deployed.


# Introducing Continuous Integration into Your Organization

Phase 1—Create Build Server

Phase 2—Nightly Builds

Phase 3—Nightly Builds and Basic Automated Tests

Phase 4—Enter the Metrics
Automated code quality and code coverage metrics. code quality build also automatically generates API documentation for the application.

P
hase 5—Getting More Serious About Testing
Test-Driven Development are more widely practiced. The application is no longer simply compiled and tested, but if the tests pass, it is automatically deployed to an application server for more comprehensive end-to-end tests and performance tests.

Phase 6—Automated Acceptance Tests and More Automated Deployment

Behavior-Driven Development and Acceptance-Test Driven Development tools to act as communication and documentation tools and documentation as much as testing tools, publishing reports on test results in business terms that non-developers can understand.The application is automatically deployed into test environments for testing by the QA team either as changes are committed, or on a nightly basis; a version can be deployed (or “promoted”) to UAT and possibly production environments using a manually-triggered build when testers consider it ready. rolling back to a previous release, if something goes horribly wrong.

Phase 7—Continuous Deployment

# Chapter 2

# Udemy Course
