-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
task-maven: Auto-update tekton tasks resources\n\nURL: https://github…
- Loading branch information
1 parent
0e79e5d
commit 04aaf67
Showing
2 changed files
with
150 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: {} |