Upload
ledat
View
224
Download
5
Embed Size (px)
Citation preview
077-5719519פקס. 03-7100780 טל. :נוספיםלפרטים www.oracleweek.com
6777129 , מיקודתל אביב 29חומה ומגדל , הדרכה ג'ון ברייס
תוכנית יומית לכנס:
התכנסות וארוחת בוקר – 08:00-09:00
הרצאה – 09:00-10:30
הפסקה קצרה של קפה – 10:30-10:45
הרצאה – 10:45-12:30
ארוחת צהרים – 12:30-13:30
הרצאה – 13:30-15:00
הפסקה מתוקה – 15:00-15:15
הרצאה – 15:15-16:30
DevOps Engineer מסלול
Ultimate DevOps – Continuous Delivery Using Docker and Ansible
Configuration and Administration with Chef
Kubernetes- Deep Dive
Mastering Docker – For Container Automation
Configuration and Administration with Puppet 4
Microsoft DevOps Practitioner
Configuration and Administration with Ansible
CI/CD with Jenkins 1.0
המבחן של המדינה קבע:
שנים ברציפותשאנחנו מובילים
את תחום ההדרכותלעולם ההי-טק
DevOps Courses DevOps Engineering -וה DevOps-עולם המפירוט התהליכים ועד יישום הידע בפרויקטים.
www.johnbryce.co.il | תהיו חברים!
לפרטים נוספים והרשמה צרו קשר עם: [email protected] | 03-7100793 סול
חברות הי-טק נמצאות בשיאו של גל הטמעות DevOps בפרוייקטי פיתוח תוכנה. הגל הראשון של שילוב כלים פופולאריים כגון JENKINS, DOCKER בפרוייקטי תוכנה מונוליטיים
.Microservices כבר מיושם כיום. במקביל, השוק דוהר לעבר פיתוחשינוי ארכיטקטוני מהותי זה מצריך גם עדכון התשתיות האוטומטיות והרחבתן.
.Kubernetes בינהם DevOps-עובדה זו מקדמת את כלי הדור השני בעולם ה
לפרטים נוספים ושליחת קו"ח פנו אל:Talent Recuitment Manager ,מאיה הוף
054-4601413 | [email protected]
אנחנו מרחיבים את סגל המרצים שלנוונשמח לקלוט אותך לשורותינו
אפשרויות תעסוקה מגוונות | משרה גמישה בוקר/ערב | אפשרות לעבודה כפרילאנס
Big Data Cyber DevOps
בואו לגדול איתנויש לנו נבחרת מרצים מנצחת!
ולהעביר הלאה את הידע המקצועי שלכם!
ג’ון ברייס מחפשת את הטאלנט הבא
AWS Cloud Dev Full StackBig Data Cyber AndroidDevOps
למגוון המשרות חפשו בגוגל "מרצים בג'ון ברייס"
1
Practical DevOps and CI/CD with Jenkins 2
LEV EPSHTEIN
Topics- Introduction to DevOps.
- Introduction to CI/CD.
- Jenkins.
- Implementing Continuous Integration and
Continuous Delivery.
- Continuous delivery with Docker.
2
Introduction to DevOpsDevOps is about C.A.M.S
Introduction to DevOps
DevOps What is it?
“DevOps is a philosophy of the efficient development, deployment and operation, of the highest quality
software possible.”
3
Introduction to DevOpsDevOps tools
Collab – Slack,WordPress(internal blogs)
Planning- Trello, Visual Studio Online
Issue Tracking – ZenDesk,JIra,
Monitoring – logstash,MS System Center,
KIBANA,New Relic
Configuration Management –
CHEF,Puppet,Ansible,SALT, PowerShell DSC
Source Control – GitHUb,SVN,TFS
DEV ENV – CodEnvy , Vagrant,
CI – TeamCIty, Jenkins , TravisCI
Deployment – CloudFormation,Packer,
Docker, Octupus Deploy, GO
Introduction to CI/CDMotivation:
MarketCode
Feedback
Delivery
4
Introduction to CI/CDProblems :
Introduction to CI/CDProblems :
- Slow Delivery.- Poor Quality.
- High Cost.- Less Flexible.
5
Introduction to CI/CDContinuous Integration
Code 1
Code 3
Code 2SourceControl
RemoteBuild
Server+ unit tests
*Push and merge on daily bases *Daily build trigger :on commit, scheduler, manualy
Introduction to CI/CDContinuous Integration
Code 1
Code 3
Code 2SourceControl
RemoteBuild
Server+ unit tests
*Push and merge on daily bases *Daily build trigger :on commit, scheduler, manualy
Automated
6
Introduction to CI/CDCI – Benefits
- Immediate bug detection
- No integration step in the lifecycle
- A deployable system at any given point
- Record of evolution of the project
Introduction to CI/CDContinuous Delivery
7
Introduction to CI/CDContinuous Delivery
Automated On demand
Continuous Delivery vs Continuous Deployment
8
Continuous Delivery vs Continuous Deployment
Why achieve continuous delivery is hard?
Manual Testing & Quality Assurance
Monitoring Systems & Alert Managements Systems
Lack of IaC.
9
Introduction to DevOps, CI/CD
Before Jenkins
10
Jenkins Born
JenkinsBranched from Hudson
Java based Continuous Build System
Runs in servlet container Tomcat
Supported by over 400 plugins
SCM,Testing, Notifications, Reporting, Artifact Saving, Triggers,
External Integration
Under development since 2005
11
Why Jenkins?
Jenkins is a highly configurable system by itself.
The additional community developed plugins provide even more
flexibility.
By combining Jenkins with Ant, Gradle, or other Build Automation tools,
the possibilities are limitless.
Jenkins Installation
Jenkins is packaged as a WAR, so you can drop it into whichever servlet container you prefer to
use (Tomcat , Apache etc)
Jenkins comes pre-packaged with a servlet if you just want a lightweight implementation
Native/Supported packages exist for
Windows Ubuntu/Debian Redhat/Fedora/CentOS Mac OSX openSUSE FreeBSD OpenBSD
Solaris
Cloudbees - http://www.cloudbees.com/
12
JenkinsInstallation
Master Installation
Master Slave
JAR/WAR BASE
Docker BASE
Jenkins
DEMO
(Run on docker)
13
JenkinsCore Features
When setting up a project in Jenkins, out of the box you have the following general options:Associating with a version control server Triggering builds Polling, Periodic, Building based on other projects Execution of shell scripts, bash scripts, Ant targets, and Maven targets ArtifactarchivalPublish JUnit test results and JavadocsEmail notifications Plugins expand the functionality even further
Jenkins
14
JenkinsCore Features
The main page provides a summary of the projects
Quick view of What’s building (“No builds in the queue”)
Build Executor Status (both “Idle”)
Status of the projects
Jenkins Pipeline
Key Features and Benefits of Pipelines
Pipeline as Code
Easily define simple and complex pipelines through the DSL in a Jenkinsfile.
Pipeline as code provides a common language to help teams (e.g. Dev and Ops) work
together.
Easily share pipelines between teams by storing common "steps" in shared
repositories.
15
Jenkins 2features
Built-in support for delivery pipelines.
Improved usability/UX
Fully backwards compatible.
Pipeline as a code
Code repository - GIT
Git -Linus Torvalds (the creator of the Linux kernel)
Local projects directory- files.
Single “.git” directory.
Try online- https://try.github.io/levels/1/challenges/1
16
GitHub pluginhttps://wiki.jenkins.io/display/JENKINS/GitHub+Plugin
Three major functionalities:
Hyperlinks between changes
Trigger a build when a change is pushed to GitHub -preferable
Polling mode - less in use
BuildsOnce a project is successfully created in Jenkins, all future builds are automatic.
Jenkins executes the build in an executer.
By default, Jenkins gives one executor per core on the build server.
Jenkins also has the concept of slave build servers.◦ Useful for building on different architectures.
◦ Distribution of load.
17
Testing
Unit testing - Does my small part of code working properly in
my system, my class?
Integration Testing Does our code work correctly against code
we can’t change?
Acceptance testing - Does whole system working properly?
Selenium Pluginhttps://wiki.jenkins.io/display/JENKINS/Selenium+Plugin
Selenium automates browsers. That's it!
This plugin turns your Jenkins cluster into a Selenium2 Grid
This plugin sets up Selenium Grid in the following way:
◦ On master, Selenium Grid Hub is started on port 4444, unless configured otherwise in Jenkins global configurations. This is where all your tests should connect to.
18
Reporting & notificationsJenkins comes with basic reporting features
Keeping track of build status
Last success and failure
“Weather” – Build trend
These can be greatly enhanced with the use of pre-build plugins
Unit test coverage
Test result trending
Findbugs, Checkstyle, PMD
Jenkins Pipeline
19
Jenkins Setup & RequirementsRequire Java 7,8 to be installed
The fastest way (not correct way) to get Jenkins Up & Running:
Java –jar Jenkins.war
Jenkins will run in terminal mode (which means close terminal close
Jenkins)
Unlock Jenkins
20
Costumize Jenkins
Data Directory of Jenkins
21
Anatomy Of Build
Anatomy Of a Job
22
Jenkins – Master <> Agent (Slave Nodes)
Visualize Test Result
23
Jenkins Continuous Delivery
Jenkins CD Example
24
Jenkins
microservices
microservices are a way to develop software faster
split monoliths into smaller microservices which release independently
have small teams which look after the entire Lifecycle of each
microservice
25
Introduction to Docker
Docker is an open platform for developing, shipping, and running applications.
Enables you to separate your applications from your infrastructure so you can deliver
software quickly.
Develop your application and its supporting components using containers.
The container becomes the unit for distributing and testing your application.
Docker architecture
26
Docker Hub
https://hub.docker.com/
CI/CD with Docker
27
Fabric 8