Skip to content

Commit

Permalink
task-maven: Auto-update tekton tasks resources\n\nURL: https://github…
Browse files Browse the repository at this point in the history
  • Loading branch information
github-actions authored and openshift-merge-bot[bot] committed Sep 19, 2024
1 parent 0e79e5d commit 04aaf67
Show file tree
Hide file tree
Showing 2 changed files with 150 additions and 0 deletions.
22 changes: 22 additions & 0 deletions tasks/task-maven/0.3.2/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# `maven` Tekton Task

The `maven` Task can be used to run a Maven goal on a simple or multi-module maven project.

## Workspaces

### `source`

The `source` workspace is required. It contains the source of the "maven" project to build. It should contain a `pom.xml`.

## `server_secret` (optional)

The `server_secret` is optional. It should contain two *files* : `username` and `password`. It is possible to bind a `ConfigMap` or a `Secret` to this workspace ; in that case, the `ConfigMap` or `Secret` should have a `username` and a `password` key.

## Parameters

| Parameter | Type | Default | Description |
|:-------------------|:---------|:-----------|:-----------------------------------------------------------------------------------|
| `GOALS` | `string` | `package` | The `maven` goal(s) to run |
| `MAVEN_MIRROR_URL` | `string` | "" (empty) | The maven repository mirror URL to use |
| `SUBDIRECTORY` | `string` | `.` | The subdirectory of the `source` workspace on which we want to execute maven goals |

128 changes: 128 additions & 0 deletions tasks/task-maven/0.3.2/task-maven.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
---
# Source: task-maven/templates/task-maven.yaml
apiVersion: tekton.dev/v1
kind: Task
metadata:
name: maven
labels:
app.kubernetes.io/version: 0.3.2
annotations:
tekton.dev/source: "https://github.com/openshift-pipelines/task-maven"
artifacthub.io/category: integration-delivery
artifacthub.io/maintainers: |
- name: OpenShift Pipeline task maintainers
email: [email protected]
artifacthub.io/provider: Red Hat
artifacthub.io/recommendations: |
- url: https://tekton.dev/
tekton.dev/categories: containers
tekton.dev/pipelines.minVersion: 0.41.0
tekton.dev/tags: containers
spec:
description: >-
This Task can be used to run a Maven build.
workspaces:
- name: source
optional: false
description: The workspace consisting of maven project.
- name: server_secret
optional: true
description: The workspace containing server secrets (username and password)
- name: proxy_secret
optional: true
description: The workspace containing proxy server access credentials (username, password).
- name: proxy_configmap
optional: true
description: The workspace containing some proxy values (proxy_port,proxy_host,proxy_protocol,proxy_non_proxy_hosts)
- name: maven_settings
optional: true
description: The workspace consisting of the custom maven settings provided by the user.
params:
- name: GOALS
description: maven goals to run
type: array
default:
- "package"
- name: MAVEN_MIRROR_URL
description: The Maven repository mirror url
type: string
default: ""
- name: SUBDIRECTORY
type: string
description: >-
The subdirectory within the repository for sources on
which we want to execute maven goals.
default: "."

stepTemplate:
env:

- name: PARAMS_MAVEN_MIRROR_URL
value: "$(params.MAVEN_MIRROR_URL)"
- name: PARAMS_SUBDIRECTORY
value: "$(params.SUBDIRECTORY)"
- name: WORKSPACES_SOURCE_PATH
value: "$(workspaces.source.path)"
- name: WORKSPACES_SOURCE_BOUND
value: "$(workspaces.source.bound)"
- name: WORKSPACES_SERVER_SECRET_PATH
value: "$(workspaces.server_secret.path)"
- name: WORKSPACES_SERVER_SECRET_BOUND
value: "$(workspaces.server_secret.bound)"
- name: WORKSPACES_PROXY_SECRET_PATH
value: "$(workspaces.proxy_secret.path)"
- name: WORKSPACES_PROXY_SECRET_BOUND
value: "$(workspaces.proxy_secret.bound)"
- name: WORKSPACES_PROXY_CONFIGMAP_PATH
value: "$(workspaces.proxy_configmap.path)"
- name: WORKSPACES_PROXY_CONFIGMAP_BOUND
value: "$(workspaces.proxy_configmap.bound)"
- name: WORKSPACES_MAVEN_SETTINGS_PATH
value: "$(workspaces.maven_settings.path)"
- name: WORKSPACES_MAVEN_SETTINGS_BOUND
value: "$(workspaces.maven_settings.bound)"

steps:
- name: maven-generate
image: registry.access.redhat.com/ubi8/ubi-minimal:8.9
env:
- name: HOME
value: /tekton/home
script: |
set -e
printf '%s' "IyEvdXNyL2Jpbi9lbnYgYmFzaAoKZGVjbGFyZSAtcnggTUFWRU5fR0VORVJBVEVfRElSRUNUT1JZPSIke1dPUktTUEFDRVNfU09VUkNFX1BBVEh9LyR7UEFSQU1TX1NVQkRJUkVDVE9SWX0vbWF2ZW4tZ2VuZXJhdGUiCgpkZWNsYXJlIC1yeCBNQVZFTl9TRVRUSU5HU19GSUxFPSIke01BVkVOX0dFTkVSQVRFX0RJUkVDVE9SWX0vc2V0dGluZ3MueG1sIgoKaWYgW1sgLWYgJHtNQVZFTl9TRVRUSU5HU19GSUxFfSBdXTsgdGhlbgogICAgZWNobyAidXNpbmcgZXhpc3RpbmcgJyR7TUFWRU5fU0VUVElOR1NfRklMRX0nIgogICAgY2F0ICR7TUFWRU5fU0VUVElOR1NfRklMRX0KICAgIGV4aXQgMApmaQoKIyBDaGVjayBpZiBzZXR0aW5ncy54bWwgZXhpc3RzIGluIHRoZSB3b3Jrc3BhY2UgbWF2ZW4tc2V0dGluZ3MKaWYgW1sgLWYgIiR7V09SS1NQQUNFU19NQVZFTl9TRVRUSU5HU19QQVRIfS9zZXR0aW5ncy54bWwiIF1dOyB0aGVuCiAgICBjcCAiJHtXT1JLU1BBQ0VTX01BVkVOX1NFVFRJTkdTX1BBVEh9L3NldHRpbmdzLnhtbCIgIiR7TUFWRU5fU0VUVElOR1NfRklMRX0iCiAgICBlY2hvICJVc2luZyAnJHtNQVZFTl9TRVRUSU5HU19GSUxFfScgY29waWVkIGZyb20gb3B0aW9uYWwgd29ya3NwYWNlIG1hdmVuLXNldHRpbmdzIgogICAgY2F0ICR7TUFWRU5fU0VUVElOR1NfRklMRX0KICAgIGV4aXQgMApmaQoKCm1rZGlyICIke01BVkVOX0dFTkVSQVRFX0RJUkVDVE9SWX0iCgpjYXQgPiAiJHtNQVZFTl9TRVRUSU5HU19GSUxFfSIgPDxFT0YKPHNldHRpbmdzPgogICAgPHNlcnZlcnM+CiAgICA8IS0tIFRoZSBzZXJ2ZXJzIGFkZGVkIGhlcmUgYXJlIGdlbmVyYXRlZCBmcm9tIGVudmlyb25tZW50IHZhcmlhYmxlcy4gRG9uJ3QgY2hhbmdlLiAtLT4KICAgIDwhLS0gIyMjIFNFUlZFUidzIFVTRVIgSU5GTyBmcm9tIEVOViAjIyMgLS0+CiAgICA8L3NlcnZlcnM+CiAgICA8bWlycm9ycz4KICAgIDwhLS0gVGhlIG1pcnJvcnMgYWRkZWQgaGVyZSBhcmUgZ2VuZXJhdGVkIGZyb20gZW52aXJvbm1lbnQgdmFyaWFibGVzLiBEb24ndCBjaGFuZ2UuIC0tPgogICAgPCEtLSAjIyMgbWlycm9ycyBmcm9tIEVOViAjIyMgLS0+CiAgICA8L21pcnJvcnM+CiAgICA8cHJveGllcz4KICAgIDwhLS0gVGhlIHByb3hpZXMgYWRkZWQgaGVyZSBhcmUgZ2VuZXJhdGVkIGZyb20gZW52aXJvbm1lbnQgdmFyaWFibGVzLiBEb24ndCBjaGFuZ2UuIC0tPgogICAgPCEtLSAjIyMgSFRUUCBwcm94eSBmcm9tIEVOViAjIyMgLS0+CiAgICA8L3Byb3hpZXM+Cjwvc2V0dGluZ3M+CkVPRgoKY2F0ICIke01BVkVOX1NFVFRJTkdTX0ZJTEV9IgoKeG1sPSIiCmlmIFtbICIke1dPUktTUEFDRVNfUFJPWFlfU0VDUkVUX0JPVU5EfSIgPT0gInRydWUiIF1dOyB0aGVuCiAgICBpZiB0ZXN0IC1mICR7V09SS1NQQUNFU19QUk9YWV9TRUNSRVRfUEFUSH0vdXNlcm5hbWUgJiYgdGVzdCAtZiAke1dPUktTUEFDRVNfUFJPWFlfU0VDUkVUX1BBVEh9L3Bhc3N3b3JkOyB0aGVuCiAgICBQQVJBTVNfUFJPWFlfVVNFUj0kKGNhdCAke1dPUktTUEFDRVNfUFJPWFlfU0VDUkVUX1BBVEh9L3VzZXJuYW1lKQogICAgUEFSQU1TX1BST1hZX1BBU1NXT1JEPSQoY2F0ICR7V09SS1NQQUNFU19QUk9YWV9TRUNSRVRfUEFUSH0vcGFzc3dvcmQpCgogICAgIyBGZXRjaGluZyBwcm94eSBjb25maWd1cmF0aW9uIHZhbHVlcyBmcm9tIENvbmZpZ01hcCB3b3Jrc3BhY2UKICAgIFBBUkFNU19QUk9YWV9IT1NUPSQoY2F0ICR7V09SS1NQQUNFU19QUk9YWV9DT05GSUdNQVBfUEFUSH0vcHJveHlfaG9zdCkKICAgIFBBUkFNU19QUk9YWV9QT1JUPSQoY2F0ICR7V09SS1NQQUNFU19QUk9YWV9DT05GSUdNQVBfUEFUSH0vcHJveHlfcG9ydCkKICAgIFBBUkFNU19QUk9YWV9QUk9UT0NPTD0kKGNhdCAke1dPUktTUEFDRVNfUFJPWFlfQ09ORklHTUFQX1BBVEh9L3Byb3h5X3Byb3RvY29sKQogICAgUEFSQU1TX1BST1hZX05PTl9QUk9YWV9IT1NUUz0kKGNhdCAke1dPUktTUEFDRVNfUFJPWFlfQ09ORklHTUFQX1BBVEh9L3Byb3h5X25vbl9wcm94eV9ob3N0cykKCiAgICBpZiBbIC1uICIke1BBUkFNU19QUk9YWV9IT1NUfSIgLWEgLW4gIiR7UEFSQU1TX1BST1hZX1BPUlR9IiBdOyB0aGVuCiAgICAgICAgeG1sPSI8cHJveHk+XAogICAgICAgIDxpZD5nZW5wcm94eTwvaWQ+XAogICAgICAgIDxhY3RpdmU+dHJ1ZTwvYWN0aXZlPlwKICAgICAgICA8cHJvdG9jb2w+JHtQQVJBTVNfUFJPWFlfUFJPVE9DT0x9PC9wcm90b2NvbD5cCiAgICAgICAgPGhvc3Q+JHtQQVJBTVNfUFJPWFlfSE9TVH08L2hvc3Q+XAogICAgICAgIDxwb3J0PiR7UEFSQU1TX1BST1hZX1BPUlR9PC9wb3J0PiIKICAgICAgICBpZiBbIC1uICIke1BBUkFNU19QUk9YWV9VU0VSfSIgLWEgLW4gIiR7UEFSQU1TX1BST1hZX1BBU1NXT1JEfSIgXTsgdGhlbgogICAgICAgICAgICB4bWw9IiR4bWxcCiAgICAgICAgICAgIDx1c2VybmFtZT4ke1BBUkFNU19QUk9YWV9VU0VSfTwvdXNlcm5hbWU+XAogICAgICAgICAgICA8cGFzc3dvcmQ+JHtQQVJBTVNfUFJPWFlfUEFTU1dPUkR9PC9wYXNzd29yZD4iCiAgICAgICAgZmkKICAgICAgICBpZiBbIC1uICIke1BBUkFNU19QUk9YWV9OT05fUFJPWFlfSE9TVFN9IiBdOyB0aGVuCiAgICAgICAgICAgIHhtbD0iJHhtbFwKICAgICAgICAgICAgPG5vblByb3h5SG9zdHM+JHtQQVJBTVNfUFJPWFlfTk9OX1BST1hZX0hPU1RTfTwvbm9uUHJveHlIb3N0cz4iCiAgICAgICAgZmkKICAgICAgICB4bWw9IiR4bWxcCiAgICAgICAgPC9wcm94eT4iCiAgICAgICAgc2VkIC1pICJzfDwhLS0gIyMjIEhUVFAgcHJveHkgZnJvbSBFTlYgIyMjIC0tPnwkeG1sfCIgJHtNQVZFTl9TRVRUSU5HU19GSUxFfQogICAgZmkKICAgIGVsc2UKICAgICAgICBlY2hvICJubyAndXNlcm5hbWUnIG9yICdwYXNzd29yZCcgZmlsZSBmb3VuZCBhdCB3b3Jrc3BhY2UgcHJveHlfc2VjcmV0IgogICAgICAgIGV4aXQgMQogICAgZmkKZmkKCmlmIFtbICIke1dPUktTUEFDRVNfU0VSVkVSX1NFQ1JFVF9CT1VORH0iID09ICJ0cnVlIiBdXTsgdGhlbgogICAgaWYgdGVzdCAtZiAke1dPUktTUEFDRVNfU0VSVkVSX1NFQ1JFVF9QQVRIfS91c2VybmFtZSAmJiB0ZXN0IC1mJHtXT1JLU1BBQ0VTX1NFUlZFUl9TRUNSRVRfUEFUSH0vcGFzc3dvcmQ7IHRoZW4KCVNFUlZFUl9VU0VSPSQoY2F0ICR7V09SS1NQQUNFU19TRVJWRVJfU0VDUkVUX1BBVEh9L3VzZXJuYW1lKQoJU0VSVkVSX1BBU1NXT1JEPSQoY2F0ICR7V09SS1NQQUNFU19TRVJWRVJfU0VDUkVUX1BBVEh9L3Bhc3N3b3JkKQoJaWYgWyAtbiAiJHtTRVJWRVJfVVNFUn0iIC1hIC1uICIke1NFUlZFUl9QQVNTV09SRH0iIF07IHRoZW4KCSAgICB4bWw9IjxzZXJ2ZXI+XAogICAgICAgIDxpZD5zZXJ2ZXJpZDwvaWQ+IgoJICAgIHhtbD0iJHhtbFwKICAgICAgICA8dXNlcm5hbWU+JHtTRVJWRVJfVVNFUn08L3VzZXJuYW1lPlwKICAgICAgICA8cGFzc3dvcmQ+JHtTRVJWRVJfUEFTU1dPUkR9PC9wYXNzd29yZD4iCgkgICAgeG1sPSIkeG1sXAogICAgICAgIDwvc2VydmVyPiIKCSAgICBzZWQgLWkgInN8PCEtLSAjIyMgU0VSVkVSJ3MgVVNFUiBJTkZPIGZyb20gRU5WICMjIyAtLT58JHhtbHwiICR7TUFWRU5fU0VUVElOR1NfRklMRX0KCSAgICBlY2hvICJTRVJWRVIgQ3JlZHMgVXBkYXRlZCIKCWZpCiAgICBlbHNlCgllY2hvICJubyAndXNlcicgb3IgJ3Bhc3N3b3JkJyBmaWxlIGZvdW5kIGF0IHdvcmtzcGFjZSBzZXJ2ZXJfc2VjcmV0IgogICAgICAgIGV4aXQgMQogICAgZmkKZmkKCmlmIFsgLW4gIiR7UEFSQU1TX01BVkVOX01JUlJPUl9VUkx9IiBdOyB0aGVuCiAgICB4bWw9IiAgICA8bWlycm9yPlwKICAgIDxpZD5taXJyb3IuZGVmYXVsdDwvaWQ+XAogICAgPHVybD4ke1BBUkFNU19NQVZFTl9NSVJST1JfVVJMfTwvdXJsPlwKICAgIDxtaXJyb3JPZj5jZW50cmFsPC9taXJyb3JPZj5cCiAgICA8L21pcnJvcj4iCiAgICBzZWQgLWkgInN8PCEtLSAjIyMgbWlycm9ycyBmcm9tIEVOViAjIyMgLS0+fCR4bWx8IiAke01BVkVOX1NFVFRJTkdTX0ZJTEV9CmZpCg==" |base64 -d >"/scripts/maven-generate.sh"
chmod +x /scripts/maven-*.sh;echo "Running Script /scripts/maven-generate.sh";
/scripts/maven-generate.sh;
securityContext:
runAsNonRoot: true
runAsUser: 65532
volumeMounts:
- name: scripts-dir
mountPath: /scripts
- name: maven-settings-dir
mountPath: /maven-generate

- name: maven-goals
env:
- name: HOME
value: /tekton/home
image: registry.access.redhat.com/ubi8/openjdk-11:latest
workingDir: $(workspaces.source.path)/$(params.SUBDIRECTORY)
command: ["/usr/bin/mvn"]
args:
- -s
- maven-generate/settings.xml
- "$(params.GOALS[*])"
securityContext:
runAsNonRoot: true
runAsUser: 65532
volumeMounts:
- name: maven-settings-dir
mountPath: /maven-generate

volumes:
- name: scripts-dir
emptyDir: {}
- name: maven-settings-dir
emptyDir: {}

0 comments on commit 04aaf67

Please sign in to comment.