79 lines
2.0 KiB
YAML
79 lines
2.0 KiB
YAML
# A pipeline to build j7s-os images.
|
|
# Steps:
|
|
# Clone the j7s-os repo from onedev.
|
|
# Call make <> in the repo.
|
|
# Build and push a new deployment container.
|
|
# Deploy the deployment container as a service.
|
|
---
|
|
apiVersion: tekton.dev/v1beta1
|
|
kind: Pipeline
|
|
metadata:
|
|
name: j7s-os-pipeline
|
|
namespace: j7s-ci
|
|
spec:
|
|
description: Build and deploy j7s-os images.
|
|
params:
|
|
- name: make-image-name
|
|
type: string
|
|
description: The name of image to make in the os repo.
|
|
- name: branch
|
|
type: string
|
|
default: main
|
|
description: branch of j7s-os image to build.
|
|
workspaces:
|
|
- name: shared-data
|
|
description: Shared data.
|
|
- name: git-credentials
|
|
description: Tekton's ssh credentials
|
|
tasks:
|
|
- name: fetch-repo
|
|
workspaces:
|
|
- name: output
|
|
workspace: shared-data
|
|
- name: ssh-directory
|
|
workspace: git-credentials
|
|
params:
|
|
- name: url
|
|
value: ssh://git@git.jpace121.net:2222/public/j7s-os.git
|
|
- name: branch
|
|
value: $(params.branch)
|
|
taskRef:
|
|
name: j7s-git-clone
|
|
- name: image-build
|
|
runAfter: ["fetch-repo"]
|
|
workspaces:
|
|
- name: source
|
|
workspace: shared-data
|
|
params:
|
|
- name: image-name
|
|
value: $(params.make-image-name)
|
|
taskRef:
|
|
name: j7s-os-image-build
|
|
- name: build-deploy-image
|
|
runAfter: ["image-build"]
|
|
workspaces:
|
|
- name: source
|
|
workspace: shared-data
|
|
params:
|
|
- name: commit
|
|
value: $(params.make-image-name)
|
|
- name: image
|
|
value: j7s-os-deploy
|
|
- name: registry
|
|
value: harbor.internal.jpace121.net/library
|
|
- name: version
|
|
value: $(tasks.image-build.results.version-string)
|
|
taskRef:
|
|
name: j7s-os-buildah
|
|
- name: deploy-image
|
|
runAfter: ["build-deploy-image"]
|
|
workspaces:
|
|
- name: ssh-directory
|
|
workspace: git-credentials
|
|
params:
|
|
- name: image
|
|
value: harbor.internal.jpace121.net/library/j7s-os-deploy
|
|
- name: version
|
|
value: $(tasks.image-build.results.version-string)
|
|
taskRef:
|
|
name: j7s-os-k8s-deploy |