openIDP icon indicating copy to clipboard operation
openIDP copied to clipboard

New technology support

Open techseria opened this issue 5 years ago • 1 comments

As of now, OpenIDP does not support PHP, If we want to add that support then do you have any documentation for how we can extend OpenIDP with new technology support and how we will do further development?

techseria avatar Sep 19 '19 04:09 techseria

Glad to know your interest in adding PHP support. While we work on the documentation to help users with this, you can refer to below points to get started with the development.

  • Design the steps and flow you need to support under each stage (BUILD, DEPLOY, TEST). Ex: BUILD to support SonarQube, Unit Testing, DEPLOY to support copy of files to a directory and restart of the web server, TEST stage more or less should remain common to what is already supported, etc.
  • As you know by now, Jenkins is the core orchestration engine in IDP. Any new technology/tool to be supported, needs to be first implemented/tried as a pipeline/job in Jenkins
  • Create reference Jenkins Freestyle jobs for BUILD, DEPLOY, TEST as per your design
  • Once the jobs are tested to be building and deploying your code, you can start with DSL development. DSL folder structure is pretty much straight forward.
  • You will need to modify Build.groovy and Deploy.groovy and create new files for PHP Build and Deploy under openIDP/dsl/src/main/groovy/com/infy/idp/tools/build/ and openIDP/dsl/src/main/groovy/com/infy/idp/tools/deploy folders
  • For the inputs you need to receive from the end user, you need to update the BUILD and DEPLOY components in the UI code.
  • To map the UI fields with the DSL layer, you need to to update Services, to add the entities in openIDP/service/Services/entities/src/main/java/org/infy/idp/entities/jobs/
  • If you need to have any custom dashboards, you need to work with dashboard services and utilities as well

idp-oss avatar Oct 03 '19 11:10 idp-oss