A pipeline that walks through the gCubeSystem repositories and performs some configurable actions.
Go to file
Roberto Cirillo 884b1cce1b Update 'Jenkinsfile'
removed manuele simi's email from pipeline
2023-01-16 11:29:08 +01:00
Jenkinsfile Update 'Jenkinsfile' 2023-01-16 11:29:08 +01:00
LICENSE.md Add Readme and License. 2021-01-16 15:58:53 -05:00
README.md Update default repo list and README. 2021-01-31 21:41:38 -05:00

README.md

gCubeActionExecutor

Starting from a list of git projects and a Bash fragment, for each project, this Jenkins pipeline:

  • clone the git repository
  • execs the Bash fragment in the root folder of the repository
  • pushes back the repository using git.gcube as author.

Requirements

Parameters

  • Git Root: The URL of the parent organization that includes all the listed repositories.
  • List of Repositories: A plain text file, one line for each Git repository name to update.
  • Action Root: The root URL of the Bash fragment to execute.
  • Action File: The relative path under the Action Root of a Bash script

How Does It Work

The pipeline:

  1. clones one repository at the time from Git Root/Repo Name (from the list)
  2. downloads the action file from Action Root/Action File in the root folder of the repository
  3. runs the action file using the root folder of the repository as working dir
  4. pushes the repository back to Gitea

Every change to the Git repository MUST be done by the action file. The pipeline is in charge only to push the repository to the remote origin.

Sample Usage

List of Repositories

52n-wps-algorithm-gcube
52n-wps-server-gcube 
about-vre 
accept-invite-portlet 
accounting-aggregator-se-plugin 
accounting-analytics 
...

Action File

The following fragment downloads a file named LICENSE.md and adds it to the repository (if it does not exist):

#!/usr/bin/env bash
if [[ ! -f LICENSE.md ]]; then
    curl <my URL>/LICENSE.md -o LICENSE.md
    git add LICENSE.md
    git commit -m "Add LICENSE.md."
fi

References

Wiki doc

License

This project is licensed under the EUPL V.1.1 License.