Apex world 2018 continuously delivering APEX

Oracle APEX developer (freelance) at Santa Monica College
Oct. 30, 2018
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
Apex world 2018 continuously delivering APEX
1 of 32

More Related Content

What's hot

Microsoft ASP.NET 5 - The new kid on the block Microsoft ASP.NET 5 - The new kid on the block
Microsoft ASP.NET 5 - The new kid on the block Christos Matskas
Reactive Web Development with Spring Boot 2Reactive Web Development with Spring Boot 2
Reactive Web Development with Spring Boot 2Mike Melusky
Introduction to ASP.NET 5Introduction to ASP.NET 5
Introduction to ASP.NET 5mbaric
Power shell saturday  ravikanthPower shell saturday  ravikanth
Power shell saturday ravikanthRavikanth Chaganti
Setting Up CircleCI Workflows for Your Salesforce AppsSetting Up CircleCI Workflows for Your Salesforce Apps
Setting Up CircleCI Workflows for Your Salesforce AppsDaniel Stange
FlywayFlyway
FlywayKaunas Java User Group

Similar to Apex world 2018 continuously delivering APEX

APEX Application Lifecycle and Deployment 20220714.pdfAPEX Application Lifecycle and Deployment 20220714.pdf
APEX Application Lifecycle and Deployment 20220714.pdfRichard Martens
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...E. Camden Fisher
UKLUG 2012 - XPages, Beyond the basicsUKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUlrich Krause
Introduction to jenkinsIntroduction to jenkins
Introduction to jenkinsAbe Diaz
DevOps with Elastic Beanstalk - TCCC-2014DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014scolestock
ASP.NET vNextASP.NET vNext
ASP.NET vNextAlex Thissen

More from Sergei Martens

Web accessibility for APEX developersWeb accessibility for APEX developers
Web accessibility for APEX developersSergei Martens
DOAG 10 UI commendments for APEX developersDOAG 10 UI commendments for APEX developers
DOAG 10 UI commendments for APEX developersSergei Martens
The experience from a successful Forms to APEX migrationThe experience from a successful Forms to APEX migration
The experience from a successful Forms to APEX migrationSergei Martens
Apex World 2015Apex World 2015
Apex World 2015Sergei Martens
Create fancy applications with the new Twitter Bootstrap theme for Apex.Create fancy applications with the new Twitter Bootstrap theme for Apex.
Create fancy applications with the new Twitter Bootstrap theme for Apex.Sergei Martens
Oracle Application Express as add-on for Google AppsOracle Application Express as add-on for Google Apps
Oracle Application Express as add-on for Google AppsSergei Martens

Recently uploaded

Why Should You Choose a Personal Trainer over Group Gym Classes?  Why Should You Choose a Personal Trainer over Group Gym Classes?  
Why Should You Choose a Personal Trainer over Group Gym Classes?  Neighborhood Trainer
Alliance Expedition BattleAlliance Expedition Battle
Alliance Expedition BattleSilver Caprice
Domain storytelling-one-size-fit-all processDomain storytelling-one-size-fit-all process
Domain storytelling-one-size-fit-all processMichael Chen
The art of AI ArtThe art of AI Art
The art of AI ArtDennis Vroegop
Software Bill of Materials and the Vulnerability Exploitability eXchange Software Bill of Materials and the Vulnerability Exploitability eXchange
Software Bill of Materials and the Vulnerability Exploitability eXchange Petar Radanliev
OpenAI GPT in Depth - Questions and MisconceptionsOpenAI GPT in Depth - Questions and Misconceptions
OpenAI GPT in Depth - Questions and MisconceptionsIvo Andreev

Apex world 2018 continuously delivering APEX

Editor's Notes

  1. 9:06
  2. 9:02 F & S
  3. 9:04 F
  4. 9:06 S
  5. 9:08 S
  6. 9:10 S
  7. 9:12 Demo movie create feature branche with one or two objects, a change and a commit push pull request from feature to dev 90 S
  8. Demo movie create feature branche with one or two objects, a change and a commit push pull request from feature to dev 90 s
  9. 9:14 Branch strategy work towards deployment to other environments S
  10. 15 m (09:15) S
  11. (09:16) You also need to manage the database version. Do you know what has been installed? Do you know in which status your database is? F
  12. 09:18 Why should we use Flyway? Flyway only executes scrips that are new or has been changed. Flyway keeps track of what has been installed. It uses a metadata table to store which migrations are executed. Flyway can execute scripts directly from the GIT folder structure There no need to create artifacts or copy scripts to release folders etc… Use the Tagging/Branching facilities which are provided by GIT to mark milestones. F
  13. 09:14 Flyway basically knows 2 types of migrations The first one is the Versioned migration. Versioned migrations are used for structural changes like create, alter or drop. But you can also use this for inserts of reference data or to perform user data corrections. A versioned migration script will be executed only once! F
  14. 09:18 The second migration type is the repeatable migration. A repeatable migration is typically used for code in the database; like functions, procedures, packages and views. Repeatable migrations are only executed when it is new or when the checksum of the script file differs with the one stored in the metadata table. F
  15. 09:20 How does this than look First migration will install the metadata table. Each migration is registered in the metadata table. Flyway has a mechanism to start using it on legacy database. F
  16. In the demo I would like you to show what basically happens when you create a few objects in the database. Than I will change the objects to demonstrate a change. F
  17. (09:25) Flyway info command shows what will be migrated (pending migations) then migrate Show versioned plus repeatavle migation in metadata table. F
  18. S
  19. S
  20. S
  21. S
  22. S
  23. S
  24. F This is the (simplified) flow schema of the build street. Step 1: get the source code from GIT Step 2: start a Docker container which contains a Oracle database with APEX. The reason for Docker will come the next slide. Step 3: migrate the database Step 4: perform the APEX component import (the component files are imported into the Docker APEX workspace) the application(s) are assembled… Step 5: copy the static file to the Docker APEX webserver. Static files are icons, java script libraries etc… Step 6: run the APEX Advisor to check application completeness Step 7: export the APEX Application(s) as full application export, put them in GIT. These application files are used for deployment in the target environments… Step 8: stop and remove the Docker container
  25. Why Docker? During the integration phase of the development cycle the source code is usually instable. As we try to integrate the code (from multiple developers) as often as possible the build fails a lot of times. You want to spent time to repair the mess. First to enable easy rollback when migrations fail. Provide stable test data. The database structure and data are in a known state when the container is started. You can test a migration path as the database state mimics the state of the production database Other benefits Docker is light weight compared with other solutions like a VM F
  26. To automate the deployment process we use Jenkins. Jenkins is the build server. Jenkins is basically an automated script runner which performs automatically the full software roll-out. Jenkins has a plugin structure to execute dedicated tasks There are plugins for: Running shell scripts Windows bath scripts Flyway Docker sFTP/ssh No plugin yet for APEX this is solved with shell scripts and sqlcl F Jenkins has an active community
  27. In the next demo you will see Jenkins building the software. Here you see the steps which are executed. We configured jobs for each task F
  28. In this demo I would like to show you what actually happens when the Jobs are executed by Jenkins F
  29. Show the job (101) which sceen parts of flyway, apex import and rollout F
  30. F