Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New technology support #40

Open
techseria opened this issue Sep 19, 2019 · 1 comment
Open

New technology support #40

techseria opened this issue Sep 19, 2019 · 1 comment
Labels
help wanted Extra attention is needed technology Issues related to technology support

Comments

@techseria
Copy link

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?

@idp-oss
Copy link
Contributor

idp-oss commented Oct 3, 2019

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

@krishnakanthbn krishnakanthbn added technology Issues related to technology support help wanted Extra attention is needed labels Oct 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed technology Issues related to technology support
Projects
None yet
Development

No branches or pull requests

2 participants