Presentation is loading. Please wait.

Presentation is loading. Please wait.

Zowe Overview - Automation, Testing, and Orchestration

Similar presentations


Presentation on theme: "Zowe Overview - Automation, Testing, and Orchestration"— Presentation transcript:

1 Zowe Overview - Automation, Testing, and Orchestration
Dan Kelosky Open Mainframe Team linkedin.com/in/dkelosky Lucky enough to be part of Open Mainframe in Broadcom is Zowe stuff

2 Agenda Me Zowe Modern tools - purpose, how, & why I use them
Answer questions Demos test build & deploy CI I’m first - my perspective Presented this before, but it’s a little different team mates do something else - theyd need to submit the session

3 Mainframe Tools SLIP GTF
HLASM (31|64, Problem|Supervisor, System key[0-7], SRB|TCB) Conditional Assembly Metal C Endevor IPCS ISPF Console commands IEASYSxx, PROGxx, etc XDC RDz Millennial but now 10 years of working experience First 5 years Assembler and metal C developer - IDMS, Common Services NetMaster Math major barely a computer science major - I don’t know source control - not interested in modern

4 Distributed Tools Android Cloud dev (firebase) apps & serverless
Web development (JQuery, Angular, Node.js, ...) Scripting (Perl, Python, Ruby, JavaScript, …) Editor extension (Brackets, Atom, VS Code, ...) CI (Travis, Circle, Azure pipelines, Jenkins, TeamCity, Drone, …) SHARE 2014 Pitt Continued to be assembler and metal C developer - IDMS, Common Services NetMaster As a hobby I started many side projects - not just reading about them but building them Left the company and mainframe autonomous rail system for university of west virginia but I missed mainframe - so when called back, I jumped at it - Continue assembler and metal C developer

5 Personal Tools diaper bag and all the stuff that comes with it snacks
dinosaurs

6 Zowe mainframe tools, distributed tools, personal tools
zowe a way to help bridge the tools wierd picture

7 Zowe ML UI CLI APIs Explain REST in API like a browser
3 components of API ML UI explorer - admin operations CLI - focus b/c Im original developer of the CLI zowe isn’t the only way to work with modern tooling

8 API https://phpenthusiast.com/blog/what-is-rest-api

9 API ML - Catalog

10 https://github.com/Netflix/eureka
API ML - Discovery

11 https://github.com/Netflix/zuul
API ML - Gateway (unofficial)

12 UI & CLI

13 Modern Tooling - Overlap
git Node.js perl python explain each Can use these on platform and it makes sense to do so In other cases - perhaps its a lighter lift to install these in typical environments from the normal location - you can’t get node.js from their website have fun installing

14 Modern Tooling - Parallels
Symbolic substitution - &SYSNAME. Mustache, handlebars - {{ }} JCL assembler service to perform symbolic substitution Although its interesting that i can do both - it might be helpful in complex projects to be consistent searching and diff utilities (super c) - regular expression over z/os wild cards

15 Modern Tooling - Integrations
RDz / Eclipse plugins Jenkins plugins CI tools Can become outdated Quirks - developers can tell Can’t keep up - always will be a subset

16 Modern Tooling - z/OS Limitations
assembler highlighting i wrote a version of this like a year ago and published it and it’s been enhanced in open source

17 Development is Complicated
Hybrid development - TypeScript (Node.js), Spring (Java), C++, Metal C, assembler, makefile, JCL source controlled via git/GitHub delivered through Endevor Team members use different editors, diff tools, git clients CLI, scripts, and task runner are common pieces Consistency helps

18 Scripting Python Ruby Perl JavaScript / TypeScript
Bash / Shell scripts Windows Batch REXX CLIST Groovy Go ... i’ll show the example in a moment we tend to stick to JavaScript - it’s the most popular on GitHub and has been since 2014 Typescript appears to upwards - i think #7 in 2018 bring idea to life we can script in them, the cli is developed in them, web is developed in them - maybe our services will be node.js someday and

19 Scripting Examples

20 Task Runners / Encapsulation Tools
npm / yarn gradle grunt gulp make ... integrate with editors - show intellij and vs code and others for free abstract operations - describe what you want to do, and it takes care of much details we’ve tended to stick with npm & yarn is mostly compatible

21 Task Runners / Encapsulation Tools Examples
integrate with editors - show intellij and vs code and others for free → allocation example Show running through CLI and through clicking Automation tools understand these, show npm show a command show allocate show upload show build show powermode & highlighting capabilities --- expose limitations of ISPF and benefits of open source

22 Testing Frameworks JUnit Jest PyUnit RSpec Mocha.js
perform an operation and programmatically determine whether the operation was as I intended test a function adds numbers test a function captures error if i add to strings

23 Testing Frameworks Examples
npm run test gradle test … etc show code and run a test

24 Source Control git mercurial svn ChangeMan ISPW Endevor GitHub
Bitbucket GitLab ... i have remote interactions I have higher level functionality in some scripting language (probably) now start source control (see why in a moment) Hosted / on prem repo endevor, changeman, ispw

25 Source Control Examples
integrate with CI tools issue tracking release management code review work Jira, VersionOne, Waffle, Trello, Ration things show GitHub UI

26 CI/CD Jenkins Drone Concourse TeamCity Travis CI CircleCI Drone Cloud
... on prem / hosted bias towards free / open source urban code XLR

27 CI/CD Examples mostly focus on CI - continuous integration
examples of deployment show UI

28 CI/CD Tooling TSLint Codecov SonarQube JCLCheck TYPERUN=SCAN ...
A reason for why the CLI was developed

29 CI Tooling Examples JCLCheck Show lint operations

30 Demo 0 API ML Desktop UI Commands VS Code
talked about CLIs, task runners, and scripts npm is a command line tool im using the same tools changed for demo - but we’re using this for a real project

31 Demo 1 - Testing npm run genjcl npm run allocate npm run upload
npm run jcl npm run test

32 Demo 2 - CI Drone Commands Task Runner Test Automation Power mode

33 Mainframe HLASM Continuous Integration Testing with Github and Drone
Examples & Repos Mainframe HLASM Continuous Integration Testing with Github and Drone Building Mainframe Metal C and Testing with Jest and Zowe CLI How to Automate z/OS Data Set Allocation Using Zowe & JSON Mainframe Assembler & Zowe: “Hello World” Example this example is real in jclcheck show complete exercise

34 Repos


Download ppt "Zowe Overview - Automation, Testing, and Orchestration"

Similar presentations


Ads by Google