63 lines
2 KiB
Markdown
63 lines
2 KiB
Markdown
|
# kaniko-action
|
||
|
|
||
|
Build and optionally push Docker images in Kubernetes using [Kaniko](https://github.com/GoogleContainerTools/kaniko)
|
||
|
without access to `docker.sock`.
|
||
|
|
||
|
This action allows you to build container images using Kaniko in Forgejo workflows. You can also optionally
|
||
|
push the built images to a registry.
|
||
|
|
||
|
Note: Kaniko requires a privileged container.
|
||
|
|
||
|
### Example Workflow
|
||
|
|
||
|
Here's an example of how to use this action in your workflow:
|
||
|
|
||
|
```yaml
|
||
|
name: Build and Push Docker Image
|
||
|
|
||
|
on:
|
||
|
push:
|
||
|
branches:
|
||
|
- main
|
||
|
|
||
|
jobs:
|
||
|
build:
|
||
|
runs-on: flakes-action
|
||
|
steps:
|
||
|
- name: Checkout repository
|
||
|
uses: actions/checkout@v4
|
||
|
|
||
|
- name: Build and push
|
||
|
uses: https://code.252.no/tommy/kaniko-action@latest
|
||
|
with:
|
||
|
cache: false
|
||
|
context: /workspace/${{ github.repository }}
|
||
|
credentials: |
|
||
|
code.252.no=${{ github.repository_owner }}:${{ secrets.REGISTRY_TOKEN }}
|
||
|
destinations: "code.252.no/tommy/mbpfan:${{ steps.meta.outputs.tags }}"
|
||
|
push: 'true'
|
||
|
```
|
||
|
|
||
|
In this example, the action builds the Docker image defined in Dockerfile located at the root of the repository, and pushes it to
|
||
|
`myregistry.com/myimage:latest`.
|
||
|
|
||
|
## Inputs
|
||
|
|
||
|
**cache:** (optional) Set this flag to true to enable caching with Kaniko. Defaults to `false`.
|
||
|
|
||
|
**cache_repo:** (required if cache is true) Repository to use for cache.
|
||
|
|
||
|
**cache_ttl:** (optional) Cache timeout in hours. Defaults to Kaniko default.
|
||
|
|
||
|
**context:** (optional) Path to the build context. Defaults to the `workspace`.
|
||
|
|
||
|
**credentials:** (optional) Whitespace separated list of authentication credentials in the format `registry_server=user:password`.
|
||
|
|
||
|
**destinations:** (required if push is true) Destinations to push images to, whitespace separated.
|
||
|
|
||
|
**docker_file:** (optional) Path to the Dockerfile. Defaults to Dockerfile. It must be in the context.
|
||
|
|
||
|
**push:** (optional) Push an image to the registry. Defaults to `true`.
|
||
|
|
||
|
**version:** (optional) Version of the software, to be added as `org.opencontainers.image.version` label.
|