action, переделанный для alt
https://github.com/project-stacker/stacker-build-push-action
124d166f0f
Signed-off-by: Andrei Aaron <andaaron@cisco.com> |
||
---|---|---|
.github/workflows | ||
dist | ||
src | ||
test | ||
.gitignore | ||
action.yml | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md | ||
tsconfig.json |
Stacker Build and Push Action
stacker-build-push-action
natively builds OCI container images via a declarative yaml format using stacker
and publishes them to OCI conformant registries.
For more information about stacker tool see: https://github.com/project-stacker/stacker
Action Inputs
Input Name | Type | Description | Default |
---|---|---|---|
file | string | the yaml file to be built as an OCI image, example: stacker.yaml | stacker.yaml |
layer-type | list | output layer type (supported values: tar, squashfs), can be both separated by whitespace | tar |
build-args | list | the list of build-time arguments (subtitutes) separated by newline, see stacker.yaml doc | None |
url | string | remote OCI registry + repo name eg: docker://ghcr.io/project-stacker/ | None |
tags | list | one or more tags to give the new image, separated by whitespace | None |
username | string | used to login to registry | None |
password | string | used to login to registry | None |
skip-tls | bool | used with unsecure (http) registries | false |
token | string | github token used to authenticate against a repository for Git context | ${{ github.token }} |
Build only example:
- name: Run stacker-build
uses: project-stacker/stacker-build-push-action@main
with:
file: 'test/stacker.yaml'
build-args: |
SUB1=VAR1
SUB2=VAR2
SUB3=VAR3
layer-type: 'tar squashfs'
Publish url is built according to the next logic:
input.url + stacker.yaml container name + : + input.tag
Build and push example to ghcr.io:
- name: Run stacker-build
uses: project-stacker/stacker-build-push-action@main
with:
file: 'test/stacker.yaml'
build-args: |
SUB1=VAR1
SUB2=VAR2
SUB3=VAR3
layer-type: 'tar squashfs'
tags: ${{ github.event.release.tag_name }} latest
url: docker://ghcr.io/${{ github.repository }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
The above action will build test/stacker.yaml and push it to
- docker://ghcr.io/project-stacker/stacker/test:latest
- docker://ghcr.io/project-stacker/stacker/test:${{ github.event.release.tag_name }}
Build and push example to localhost:
- name: Run stacker-build
uses: project-stacker/stacker-build-push-action@main
with:
file: 'test/stacker.yaml'
build-args: |
SUB1=VAR1
SUB2=VAR2
SUB3=VAR3
layer-type: 'tar squashfs'
url: docker://localhost:5000
skip-tls: true
tags: test
The above action will build test/stacker.yaml and push it to
- docker://localhost:5000/test:test