blob: d129f650e49d99cae5a2a942c504d6be8e409c1f [file] [log] [blame]
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
name: karavan-quarkus-builder
spec:
params:
- name: project
type: string
steps:
- name: karavan-build-deploy
script: |
#!/usr/bin/env bash
CHECKOUT_DIR="/scripts"
if [[ $GIT_REPOSITORY == https* ]] ;
then
replacer=https://$GIT_PASSWORD@
prefix=https://
url="${GIT_REPOSITORY/$prefix/$replacer}"
git clone --depth 1 --branch main $url ${CHECKOUT_DIR}
else
git clone --depth 1 --branch main ${GIT_REPOSITORY} ${CHECKOUT_DIR}
fi
cd ${CHECKOUT_DIR}/$(inputs.params.project)
entrypoint -Dcamel.jbang.version=3.18.1 camel@apache/camel export
export LAST_COMMIT=$(git rev-parse --short HEAD)
export DATE=$(date '+%Y%m%d%H%M%S')
export TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)
export NAMESPACE=$(cat /var/run/secrets/kubernetes.io/serviceaccount/namespace)
/opt/mvnd/bin/mvnd package \
-Dquarkus.container-image.build=true \
-Dquarkus.container-image.push=true \
-Dquarkus.container-image.insecure=true \
-Dquarkus.container-image.username=sa \
-Dquarkus.container-image.password=${TOKEN} \
-Dquarkus.container-image.registry=image-registry.openshift-image-registry.svc:5000 \
-Dquarkus.container-image.builder=jib \
-Dquarkus.kubernetes-client.master-url=kubernetes.default.svc \
-Dquarkus.kubernetes-client.token=${TOKEN} \
-Dquarkus.kubernetes.deploy=true \
-Dquarkus.container-image.group=${NAMESPACE} \
-Dquarkus.container-image.tag=${DATE}
image: 'ghcr.io/apache/camel-karavan-builder:3.18.1'
env:
- name: GIT_REPOSITORY
valueFrom:
secretKeyRef:
name: karavan
key: git-repository
- name: GIT_USERNAME
valueFrom:
secretKeyRef:
name: karavan
key: git-username
- name: GIT_PASSWORD
valueFrom:
secretKeyRef:
name: karavan
key: git-password
- name: rollout
image: >-
image-registry.openshift-image-registry.svc:5000/openshift/cli:latest
script: |
#!/usr/bin/env bash
oc rollout latest dc/$(inputs.params.project)
oc label dc/$(inputs.params.project) app.openshift.io/runtime=camel --overwrite=true
workspaces:
- mountPath: /root/.m2
name: m2-cache
- mountPath: /jbang/.jbang/cache
name: jbang-cache