# shipwright **Repository Path**: mirrors/shipwright ## Basic Information - **Project Name**: shipwright - **Description**: Shipwright 是一个可扩展的框架,用于在 Kubernetes 上构建容器镜像 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: https://www.oschina.net/p/shipwright - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-08-04 - **Last Updated**: 2025-09-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

Work in Progress License

Shows the Shipwright logo, which is a heptagon containing a stylized ship next to the word shipwright. Shipwright is an extensible framework for building container images on Kubernetes. ## Why? With Shipwright, developers get a simplified approach for building container images, by defining a minimal YAML that does not require any previous knowledge of containers or container tooling. All you need is your source code in git and access to a container registry. Shipwright supports any tool that can build container images in Kubernetes clusters, such as: - [Kaniko](https://github.com/GoogleContainerTools/kaniko) - [Cloud Native Buildpacks](https://buildpacks.io/) - [BuildKit](https://github.com/moby/buildkit) - [Buildah](https://buildah.io/) ## Try It! - We assume you already have a Kubernetes cluster (v1.29+). If you don't, you can use [KinD](https://kind.sigs.k8s.io), which you can install by running [`./hack/install-kind.sh`](./hack/install-kind.sh). - We also require a Tekton installation (v0.59.+). To install the latest LTS release, run: ```bash kubectl apply --filename https://storage.googleapis.com/tekton-releases/pipeline/previous/v1.3.1/release.yaml ``` If you are using OpenShift cluster refer [Running on OpenShift](#running-on-openshift) for some more configurations. - Install the Shipwright deployment. To install the latest version, run: ```bash kubectl apply --filename https://github.com/shipwright-io/build/releases/download/v0.17.0/release.yaml --server-side curl --silent --location https://raw.githubusercontent.com/shipwright-io/build/v0.17.0/hack/setup-webhook-cert.sh | bash curl --silent --location https://raw.githubusercontent.com/shipwright-io/build/v0.17.0/hack/storage-version-migration.sh | bash ``` To install the latest nightly release, run: ```bash kubectl apply --filename "https://github.com/shipwright-io/build/releases/download/nightly/nightly-$(curl --silent --location https://github.com/shipwright-io/build/releases/download/nightly/latest.txt).yaml" --server-side curl --silent --location https://raw.githubusercontent.com/shipwright-io/build/main/hack/setup-webhook-cert.sh | bash curl --silent --location https://raw.githubusercontent.com/shipwright-io/build/main/hack/storage-version-migration.sh | bash ``` - Install the Shipwright strategies. To install the latest version, run: ```bash kubectl apply --filename https://github.com/shipwright-io/build/releases/download/v0.17.0/sample-strategies.yaml --server-side ``` To install the latest nightly release, run: ```bash kubectl apply --filename "https://github.com/shipwright-io/build/releases/download/nightly/nightly-$(curl --silent --location https://github.com/shipwright-io/build/releases/download/nightly/latest.txt)-sample-strategies.yaml" --server-side ``` - Generate a secret to access your container registry, such as one on [Docker Hub](https://hub.docker.com/) or [Quay.io](https://quay.io/): ```bash REGISTRY_SERVER=https://index.docker.io/v1/ REGISTRY_USER= REGISTRY_PASSWORD= kubectl create secret docker-registry push-secret \ --docker-server=$REGISTRY_SERVER \ --docker-username=$REGISTRY_USER \ --docker-password=$REGISTRY_PASSWORD \ --docker-email= ``` - Create a *Build* object, replacing `` with the registry username your `push-secret` secret have access to: ```bash REGISTRY_ORG= cat <