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 IBM i deployment tool #5

Open
andreas-prouza opened this issue Jun 28, 2024 · 1 comment
Open

New IBM i deployment tool #5

andreas-prouza opened this issue Jun 28, 2024 · 1 comment
Labels
blog enhancement New feature or request

Comments

@andreas-prouza
Copy link
Owner

andreas-prouza commented Jun 28, 2024

You may have noticed my build tool (OBI).
Now, I am working on a deployment tool as an additional modle to OBI.

This tool will be presented in 2 parts:

  • Backend
    The core application for the execution of all steps in the deployment .
    All functions can be accessed via WebAPIs.
    So you can integrate it anywhere in your DevOps chain.
  • Web frontend
    The GUI part.
    Since the GUI is using the WebAPIs from backend, there exist no dependency and the GUI can be exchanged by another one.

Backend

Following features contains the backend ...

WebAPIs

To access and execute steps of each deployment

Workflow based deployment

This definition is stored as JSON in etc/workflow.json.

Various workflows with different steps can be defined.
Means, for each deployment, you can choose which workflow should be used.
Here are 2 examples:

  • Default deployment
    image
  • Hotfix
    image

For each workflow you can define:

  • ... the stages to run
  • ... the steps which will be executed in a stage
  • ... the stages which should run after the it finished a stage
    You can define multiple stages to parallelise tasks. (See Default deployment)
  • ... individual steps to get executed
    Your own scripts or commands

Processing steps

As mentioned above, multiple processing steps can be defined for each stage.

There are already predefined steps (save objects, transfer to another system, backup, restore objects, ...).
In addition further steps can be defined. The following types are supported:

  • PASE
    This will be executed as shell command, e.g: echo 'test success'
  • QSYS
    IBM i Commands, e.g: CALL MYPGM PARM('TEST')
  • SCRIPT
    A Python script located in scripts/

Web frontend

Overview of deployments:

image

Detailed deployment information

The workflow including it's stages will be printed in a graphical way:

Detailed informations for each step can be displayed:

image

Each object will be listed and tracked.

image

For WebAPI usage

An authentication token is necessary:

image

Integration in your IDE

image

In vscode (or RDi) you just add a further button to runs the deployment script, which already exist in IBM i Build with OBI

Authority requirements

Both, the deployment tool and OBI do not require any special permissions.
Everything (including the web server) can run under an user profile with user class *USER without any other special permissions.

Only if you need to build the objects with specific authority object authority, you may need more.

@andreas-prouza andreas-prouza added enhancement New feature or request blog labels Jun 28, 2024
@andreas-prouza
Copy link
Owner Author

It's now available: https://github.com/andreas-prouza/i-releaser

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blog enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant