Files
stage-infra/Tekton/tasks/deploy-app.yaml

45 lines
1.6 KiB
YAML

---
apiVersion: tekton.dev/v1alpha1
kind: Task
metadata:
name: deploy-yaml-file
namespace: tekton-pipeline-1
spec:
params:
- name: yaml-location
default: infra/deploy-example.yaml
- name: command
default: apply
- name: deploy-name
default: ""
- name: deploy-version
default: ""
workspaces:
- name: source
mountpath: /source
steps:
- name: deploy-new-app
image: lachlanevenson/k8s-kubectl
script: |
sed -i -e 's;DEPLOY_NAME;$(params.deploy-name);g' /source/$(params.yaml-location)
if [ "$?" != 0 ]; then
echo "failure" | tee /tekton/results/state
echo "replacing deploy name in yaml file failed, please check if the yaml file is in the correct location ($(params.yaml-location))" | tee /tekton/results/description
exit 0
fi
sed -i -e 's;DEPLOY_VERSION;$(params.deploy-version);g' /source/$(params.yaml-location)
if [ "$?" != 0 ]; then
echo "failure" | tee /tekton/results/state
echo "replacing deploy version in yaml file failed, please check if the yaml file is in the correct location ($(params.yaml-location))" | tee /tekton/results/description
exit 0
fi
kubectl $(params.command) -f /source/$(params.yaml-location)
if [ "$?" != 0 ]; then
echo "failure" | tee /tekton/results/state
echo "failure applying yaml file to cluster ($(params.yaml-location))" | tee /tekton/results/description
else
echo "success" | tee /tekton/results/state
echo "deployed the yaml files to the cluster"
fi
exit 0