Debugging Z/OS COBOL Programs

Debugging Z/OS COBOL Programs

® IBM Software Group Introduction to Git for TSO/ISPF Developers DevOps Jon Sayles, IBM z Products - [email protected] @Copyright May, 2019 IBM Trademarks and Copyrights © Copyright IBM Corporation 2008 through 2020. All rights reserved – including the right to use these materials for instruction. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. This information is based on current IBM product plans and strategy, which are subject to change by IBM without notice. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, the on-demand business logo, Rational, the Rational logo, and other IBM Rational products and services are trademarks or registered trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others. 2 Mods for Rev2 ▪ 90 minutes for branch/merge ▪ Add git pull ▪ A final section on Git in the Real World New branch Git pull Git Fork? For merge - where does the code go?? Show what happens How do I know what files are in a commit? $ git show --pretty="" --name-only bd61ad98 git show --pretty="format:" --name-only START_COMMIT..END_COMMIT git config --global alias.changed 'show --pretty="format:" --name-only' git config --global alias.graph 'log --all --decorate --oneline --graph' Q&A ▪ 1. Get a class together for the "Git in the Real World" questions -- maybe a Q&A session? ▪ ▪ 2. Let people who come to the classes know exactly what's in - and what's not in a class. I didn't do that - this first go round ▪ ▪ 3. I'll probably also apportion 90 minutes to Branch & Merge ... the actual baseline usage is way deeper than I'd imagined 3 The IBM Z Open Development and IDz DevOps Curriculum ▪ Module 1 – Introduction to Git for Veteran ISPF Developers ▪ Module 2 – IDz/ZOD Terms, Concepts and Navigation ▪ Module 3 – Graphical Git Tools – The IDz/ZOD Git Views ▪ Module 3 – Editing Your COBOL Programs ▪ Module 4 – Analyzing COBOL Programs ▪ Module 5 – Remote Systems – Connect, Navigate and Search ▪ Module 6 – Using eGit and DBB ▪ Module 7 – Remote Systems – Dataset Access and Organization ▪ Module 8 – Remote Systems – ISPF 3.x, Batch Jobs and Job Management ▪ Module 9 - The Data Tools – SQL Code/Test and DB2 Table Access ▪ Module 10 - Debugging z/OS COBOL Applications and Code Coverage Optional Modules ▪ Z Open Unit Test ▪ Code Coverage – Deep Dive ▪ Software Analyzer/Code Review – Application source quality standards ▪ Menu Manager – Integrate ISPF REXX Execs and CLISTs ▪ Reusable Code ▪ Application Discovery (AD) 4 Course Assumptions – 1 of 2 1. You have 6+ months of production z/OS work experience, using COBOL, PL/I or Assembler 2. You have some experience with a source management or version control tool: ▪ CA-Endevor ▪ Changeman ▪ SCLM ▪ ISPW ▪ RTC ▪ Subversion ▪ “Home-Grown” source management tool 3. You have Windows/GUI skills: ▪ Navigation ▪ Create new files ▪ copy/paste files & text within files 4. Some experience with Eclipse tooling is helpful 5 Course Assumptions – 2 of 2 5. If you wish to do the hands-on labs, you must have access to a Git Repository with a command-line interface. This can be: ▪ Your own company’s Git Server/Hub ▪ A local Git product: I.E. “GitHub Desktop” ▪ GitHub/GitLab/BitBucket ▪ Some other Git server; – Katacoda’s free Git learning system: www.Katacoda.com – Instruqt’s free Git learning system: https://instruqt.com/public Notes: ▪ Most of the free Git environments/products require you to register in the vendor’s site ▪ Whatever product or environment you choose, you will use its Command Line Interface to do the workshops in this course 6 Local Git Command Line Interface with IDz & ZOD 6. If you’re using IDz or ZOD you can open a CLI to your Repository: From Remote Systems: Expand Local - then Right-Click Local Shells and select Launch Shell From the Local shell Command line use MS-DOS commands to access the directory you want to use as a Git Repository: cd to your repository-folder Issue Git commands 7 Additional Learning Resources Much of the Git/Tech-Ed approach used in this course was developed by David Mahler – whose work is widely recognized as best-in-class, for Git and modern DevOps tooling enablement: https://github.com/dmahler https://www.linkedin.com/in/davidmahler/ ▪ David Mahler’s video-based learning on YouTube: A simple-to-follow, yet in-depth introduction to Git ▪ Core concepts: https://www.youtube.com/watch?v=uR6G2v_WsRA ▪ Branching/Merging files: https://www.youtube.com/watch?v=FyAAIHHClqI&list=PLf6wuaD-31jdZRVA-YuHWAgiVykP_Si56 ▪ Working with remote Repositories: https://www.youtube.com/watch?v=FyAAIHHClqI&list=PLf6wuaD-31jdZRVA-YuHWAgiVykP_Si56 ▪ Blogs and White Papers on Git from other authors: https://www.atlassian.com/git/tutorials/why-git https://product.hubspot.com/blog/git-and-github-tutorial-for-beginners https://medium.com/@lett/git-basics-f82852313c65 Vim Editor tutorial: https://www.youtube.com/watch?v=szTtE60fIt8 Migrating code to Git: https://www.ibm.com/support/knowledgecenter/en/SS6T76_1.0.4/migration.html Command Line Interface/Git: https://www.git-tower.com/learn/git/ebook/en/command-line/introduction ▪ An aggregation of Git learning sites: https://hackernoon.com/top-5-free-courses-to-learn-git-and-github-best-of-lot-2f394c6533b0 8 UNIT Intro to Git - for z/OS Developers Topics: ▪ Overview of Git – Initial Git terms, vocabulary, syntax ▪ Comparing, working with and committing files ▪ Remote Git Repositories ▪ Branches, Positioning and HEAD 9 Topics in this section After completing this section you will be able to: ▪ Define Git, and specify reasons for learning to use it ▪ Explain the difference(s) between Git and GitHub ▪ Define what a Git Repository is ▪ Describe the three conceptual areas of a Git Repository ▪ List the steps in a basic Git Workflow ▪ Use the vim editor to create/modify text files ▪ Issue the following Git commands in a live git environment git init git configure user-name/email git add git commit git log ▪ Create a .gitignore file – and describe its purpose 10 What is Git? Git is an open-source, distributed version control system – a tool to manage files and changes to files Git went G.A. in 2005. It is maintained by the Linux foundation and is currently the leader in the version control space – owning nearly 60% market share https://www.datanyze.com/market-share/source-code-management/git-market-share 11 What do you do with Git? • Store your & organize source files • Take snapshots of files – capturing changes to your source code as versions over time • Restore earlier versions of files from snapshots • Work on multiple versions of a file in parallel • Work on different parts of a file in parallel Note that Git can be used for all filetypes: XML, PowerPoint, MS-Word Spreadsheets, graphics files, etc. But it is particularly well-suited for managing source files: PL/I, COBOL, Assembler JCL BMS/MFS IMS Gen & SQL/DDL REXX/CLIST Copybooks, Includes & Macro files 12 Why Learn Git? ▪ Better systems Improved parallel development Faster SCM tooling performance Simplified merge and faster release cycle Seamless integration into an open CI/CD pipeline Strong support for “non-linear development” ▪ Working on different parts of the application concurrently Cloud integration Supported by all modern tools/IDEs One Version Control System for both enterprise & distributed applications ▪ Career future-proofing (quotes from the Inter-webs) Companies love it when you have Git on your CV “My number one piece of advice for new developers: Learn Git and push code to GitHub every day”; Brandon Morelli I woke up one morning & realized I had to learn Linux. 13 Local Git Version Control vs. GitHub/GitLab Git is the version control tool (SCM) that tracks changes to your files Git Installs locally and manages version control and file sharing: ▪ Via a desktop interface (GUI and/or Command-line) ▪ Using a Repository to manage the history of file changes ▪ GitHub, GitLab and Bitbucket are web-based Git hosting products – which provide: A remote Git Version Control System ▪ Free space for open-source projects, “for-pay” space for private projects Features for collaborative production-quality project work: ▪ Work-item management and organizational tools ▪ Problem-tracking, Branch protection, etc. ▪ GitHub: a web-based hosting service for version control using Git. GitHub is owned by Microsoft: https://github.com/ ▪ GitLab is a cloud-based, DevOps lifecycle tool providing CI/CD pipeline features. GitLab is owned by GitLab, Inc. https://about.gitlab.com/ ▪ Bitbucket is a web-based source-control-management Repository owned by Atlassian. Bitbucket offers

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    116 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us