Lynda.com: Docker: Continuous Delivery
-
Author: Arthur Ulfeldt
-
Updated: 5/15/2019
-
Duration: 2h 12m
-
Skill Level: Intermediate
-
Course URL: https://www.lynda.com/Docker-tutorials/Docker-Continuous-Delivery/672474-2.html
-
Description:
Continuous integration and continuous deployment (CI/CD) allow developers to work more collaboratively and catch bugs earlier in the development lifecycle. Docker—a leading software container platform—can greatly simplify continuous deployment by allowing for safer, more reliable deployment and testing environments. In this course, join Arthur Ulfeldt as he explains how to use Docker to build deployment systems. Arthur steps through how to build your CI/CD toolbox, including how to build a minimal Jenkins installation and build Docker images for CI. He also covers essential continuous deployment and integration concepts; shows how to build a simple example of continuous deployment with Docker; discusses integration testing; and more.
Topics include:
- How Docker can greatly simplify continuous deployment
- Building your CI/CD toolbox
- Continuous deployment using hosted Docker
- Deploying to AWS with Jenkins
- Goals and expectations for integration testing
- Creating an integration test job
Table of Content
- Introduction
- 1. Continuous Delivery
- 2. Build Your CI/CD Toolbox
- 3. Deployment
- 4. Integration Testing
- Conclusion
Introduction
Welcome
What you should know
Exercise files
1. Continuous Delivery
Continuous delivery with Docker
Use Docker to build a composable architecture
Common Docker CI/CD tools
2. Build Your CI/CD Toolbox
Jenkins overview
-
Install Jenkins on AWS EC2
-
sudo usermod -a -G docker ec2-user sudo usermod -a -G jenkins ec-user sudo reboot ssh -i ~/.ssh/amazon-key.pem [email protected] docker run hello-world sudo -u jenkins docker run hello-world
Set up a Docker registry
-
Connects all steps of Pipeline
-
Choosing a Host
- Traditional host with local storage
- Existing service such as Nexus
- Amazon Elastic Container Registry
- Docker Hub
-
Amazon ECR(Elastic Container Registry)
- Service => IAM Management Console => Roles
- Create
AmazonEC2ContainerRegistryPowerUser
, Attach/Replace IAM Roles - AWS ECS: Create Repository
hello-world
-
Jenkins Job Build Configuration
-
docker run hello-world # aws aws ecr get-login --no-include-email --region us-east-1 > ./login source ./login # docker docker tag hello-world:latest 08978789.dkr.us-east-1.amazon.com/hello-world:latest docker push 08978789.dkr.us-east-1.amazon.com/hello-world:latest
-