35
לפרטים נוספים: טל.03-7100780 פקס.077-5719519 www.oracleweek.com ג'ון ברייס הדרכה, חומה ומגדל29 תל אביב , מיקוד6777129 תוכנית יומית לכנס: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 הרצאה

:סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

  • Upload
    ledat

  • View
    224

  • Download
    5

Embed Size (px)

Citation preview

Page 1: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

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

Page 2: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to
Page 3: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

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-עובדה זו מקדמת את כלי הדור השני בעולם ה

Page 4: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to
Page 5: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

לפרטים נוספים ושליחת קו"ח פנו אל:Talent Recuitment Manager ,מאיה הוף

054-4601413 | [email protected]

אנחנו מרחיבים את סגל המרצים שלנוונשמח לקלוט אותך לשורותינו

אפשרויות תעסוקה מגוונות | משרה גמישה בוקר/ערב | אפשרות לעבודה כפרילאנס

Big Data Cyber DevOps

בואו לגדול איתנויש לנו נבחרת מרצים מנצחת!

ולהעביר הלאה את הידע המקצועי שלכם!

ג’ון ברייס מחפשת את הטאלנט הבא

AWS Cloud Dev Full StackBig Data Cyber AndroidDevOps

למגוון המשרות חפשו בגוגל "מרצים בג'ון ברייס"

Page 6: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to
Page 7: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to
Page 8: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to
Page 9: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

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.

Page 10: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

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.”

Page 11: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

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

Page 12: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

4

Introduction to CI/CDProblems :

Introduction to CI/CDProblems :

- Slow Delivery.- Poor Quality.

- High Cost.- Less Flexible.

Page 13: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

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

Page 14: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

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

Page 15: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

7

Introduction to CI/CDContinuous Delivery

Automated On demand

Continuous Delivery vs Continuous Deployment

Page 16: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

8

Continuous Delivery vs Continuous Deployment

Why achieve continuous delivery is hard?

Manual Testing & Quality Assurance

Monitoring Systems & Alert Managements Systems

Lack of IaC.

Page 17: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

9

Introduction to DevOps, CI/CD

Before Jenkins

Page 18: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

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

Page 19: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

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/

Page 20: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

12

JenkinsInstallation

Master Installation

Master Slave

JAR/WAR BASE

Docker BASE

Jenkins

DEMO

(Run on docker)

Page 21: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

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

Page 22: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

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.

Page 23: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

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

Page 24: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

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.

Page 25: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

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.

Page 26: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction 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

Page 27: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

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

Page 28: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

20

Costumize Jenkins

Data Directory of Jenkins

Page 29: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

21

Anatomy Of Build

Anatomy Of a Job

Page 30: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

22

Jenkins – Master <> Agent (Slave Nodes)

Visualize Test Result

Page 31: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

23

Jenkins Continuous Delivery

Jenkins CD Example

Page 32: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

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

Page 33: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

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

Page 34: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

26

Docker Hub

https://hub.docker.com/

CI/CD with Docker

Page 35: :סנכל תימוי תינכותmarketing.johnbryce.co.il/files/oracleweek2017/17510 - לב... · Deployment –CloudFormation,Packer, Docker, Octupus Deploy, GO Introduction to

27

Fabric 8