Professional Documents
Culture Documents
DevOps For OpenEdge
DevOps For OpenEdge
DevOps For OpenEdge
Thomas Hansen
Director, nodeable
thomas@nodeable.io
© nodeable.io 2020
nodeable
© nodeable.io 2020
Our work with containers
© nodeable.io 2020
Some of the tools we use
© nodeable.io 2020
DevOps
https://www.dotnettricks.com/learn/devops/what-is-devops-and-devops-advantages
© nodeable.io 2020
DevOps
https://www.dotnettricks.com/learn/devops/what-is-devops-and-devops-advantages
© nodeable.io 2020
Why DevOps?
https://www.dotnettricks.com/learn/devops/what-is-devops-and-devops-advantages
© nodeable.io 2020
Ready for DevOps?
● Version control
○ Git
○ Roundtable
○ Others
● automatable processes
● tools for automation and CI/CD
● code structure for automation & CI/CD
○ separate client / server codebase
○ only backend server code and web ui
© nodeable.io 2020
Ready for DevOps?
© nodeable.io 2020
Tools for DevOps
● Git
● Gitlab, Bitbucket, Azure DevOps
● Roundtable TSMS + buildable
● Jenkins, RunDeck, Drone, …
● Apache Ant & PCT
● Scripts
● Docker !
○ Compose
○ Kubernetes
● AWS, Google Cloud, Azure, ...
● JIRA, ...
● Scripts
© nodeable.io 2020
Progress DevOps Support
● Docker support
○ PASOE - 11.7 & 12.x
○ Databases - 12.2
© nodeable.io 2020
Apache Ant
Apache Ant
● Common XML & Java based scripting and
automation language
● Use easily with
○ PDOSE
○ Jenkins
○ Other CI/CD tools and scripting engines - e.g.
Jenkins
○ Docker
● Used more and more by PSC with OpenEdge
Development tools
○ PDOSE
○ PASOE .war file generation
© nodeable.io 2020
PCT
PCT
● “PCT is a set of Ant tasks, designed to
automate work in OpenEdge environment.”
● Developed by Riverside Software
○ https://github.com/Riverside-Software/pct
● Compile ABL, create .pl files, schema
processing, ABLUnit, …
● Easy to use with Jenkins etc.
● Easy to use with Docker
© nodeable.io 2020
PCT tasks
© nodeable.io 2020
SonarLint & SonarQube
© nodeable.io 2020
buildable for Roundtable
© nodeable.io 2020
for Roundtable
© nodeable.io 2020
buildable for Roundtable Architecture
dashboard Baselines
RTB
AppServer
© nodeable.io 2020
Git
● Used everywhere
● Good integrations with tools
● Good support for workflows
○ Gitflow, Gitlab flow, …
● Easy to automate
● Multi-tool & platform support
© nodeable.io 2020
Jenkins
© nodeable.io 2020
Jenkins builds & pipelines
© nodeable.io 2020
Jenkins - Simple pipelines
© nodeable.io 2020
Jenkins - Complex pipelines
© nodeable.io 2020
Cloud Infrastructure
● IaC: Infrastructure-as-Code
© nodeable.io 2020
Databases
● Docker? YES
○ Images with versioned templates
○ Easy creation of container stacks with other
components for different DevOps stages
© nodeable.io 2020
Docker!
© nodeable.io 2020
Cloud build tools
● Gitlab
● Bitbucket
● Azure DevOps
● CodeFresh
● ...
© nodeable.io 2020
Ideal DevOps cycle
© nodeable.io 2020
thomas@nodeable.io
© nodeable.io 2020