github.com/GoogleContainerTools/skaffold/v2@v2.13.2/docs-v1/content/en/docs/design/_index.md (about)

     1  ---
     2  title: "Architecture and Design"
     3  linkTitle: "Architecture and Design"
     4  weight: 50
     5  aliases: [/docs/concepts,/docs/concepts/architecture]
     6  no_list: true
     7  ---
     8  
     9  Skaffold is designed with pluggability in mind:
    10  
    11  ![architecture](/images/architecture.png)
    12  
    13  The architecture allows you to use Skaffold with the tool you prefer. Skaffold
    14  provides built-in support for the following tools:
    15  
    16  * **Build**
    17    * Dockerfile locally, in-cluster with kaniko or on cloud using Google Cloud Build
    18    * Jib Maven and Jib Gradle locally or on cloud using Google Cloud Build
    19    * Bazel locally
    20    * Cloud Native Buildpacks locally or on cloud using Google Cloud Build
    21    * Custom script locally or in-cluster
    22  * **Test**
    23    * [container-structure-test](https://github.com/GoogleContainerTools/container-structure-test)
    24  * **Tag**
    25    * Git tagger
    26    * Sha256 tagger
    27    * Input Digest tagger
    28    * Env Template tagger
    29    * DateTime tagger
    30  * **Deploy**
    31    * Kubernetes Command-Line Interface (`kubectl`)
    32    * [Helm](https://helm.sh/)
    33    * [kustomize](https://github.com/kubernetes-sigs/kustomize)
    34  
    35  You can combine the tools as you see fit in Skaffold. For experimental
    36  projects, you may want to use local Docker daemon for building artifacts, and
    37  deploy them to a Minikube local Kubernetes cluster with `kubectl`:
    38  
    39  ![workflow_local](/images/workflow_local.png)
    40  
    41  However, for production applications, you might find it more appropriate to build
    42  with Google Cloud Build and deploy using Helm:
    43  
    44  ![workflow_gcb](/images/workflow_gcb.png)
    45  
    46  Skaffold also supports development profiles. You can specify multiple different
    47  profiles in your configuration and use the one that best serves your needs
    48  without having to modify the configuration file. You can learn more about
    49  profiles [here]({{< relref "../environment/profiles.md" >}}).