Skip to content
This repository was archived by the owner on Jun 6, 2022. It is now read-only.
This repository was archived by the owner on Jun 6, 2022. It is now read-only.

Add support for Git #356

Description

@athrane

Git plugin

DONE - Support for cloning repository.
Git plugin supports cloning of repository when "deploy-configuration" operation is invoked on model with a repository entity defined:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<mmd:models xmlns:mmd="http://pineapple.dev.java.net/ns/module_model_1_0"       
        xmlns:gp="http://pineapple.dev.java.net/ns/plugin/git_1_0" >
    <mmd:model target-resource="git-pineapple-example-repo">
        <mmd:content>
            <gp:git>
                <gp:repository destination="modules:pineapple-git-plugin-test-repository" branch="master" />
            </gp:git>
        </mmd:content>
    </mmd:model>
</mmd:models>

The repository is defined as a resource which is referenced from the model (with the repository entity):

<configuration xmlns="http://pineapple.dev.java.net/ns/environment_1_0">
    <environments>
        <environment id="*" description="Wildcard environment for definition of resources available in ALL evironments.">
            <resources>
                <resource id="git-pineapple-example-repo" plugin-id="com.alpha.pineapple.plugin.git">
                    <property key="uri" value="https://github.com/athrane/pineapple-git-plugin-test-repository.git"/>
                </resource>

REST API

Pull module operation.
Execute module, where module can be resoled form repository.

Core

Execute module, where module can be resolved form repository.
Requires dependency to Git libs or delegation to git plugin.

Web GUI

  1. UI: "Import module from Git
  • url
  • branch
  • target module name
  1. Invoke REST API using the methods:
  • Create resource in "system" enviromment (id=pineapple-git-repo, cred-ref=pineapple-git-repo, plugin-id="com.alpha.pineapple.plugin.git)
  • Create resource property (uri=https://github.com/athrane/pineapple.git)
  • create module
  • create model with git repository entity
  • execute module
  • delete module

Agent plugin

Use REST API.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions