add readme
This commit is contained in:
parent
e97df94ac3
commit
32d64b0d8c
61
README.md
Normal file
61
README.md
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
# Build Workflow
|
||||||
|
|
||||||
|
This is a workflow designed to automate the process of building and pushing Docker images to the registry. The workflow is triggered through the `workflow_call` event, allowing it to be reused in other workflows or repositories.
|
||||||
|
|
||||||
|
## Usage Example
|
||||||
|
|
||||||
|
In this example, the `build` workflow is invoked with a custom `tag`, `username`, and `password`. The workflow will build and push a Docker image using the provided parameters.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
uses: your-repo/.github/workflows/build.yml@main
|
||||||
|
with:
|
||||||
|
tag: v1.0.0
|
||||||
|
username: my-docker-username
|
||||||
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Input Parameters
|
||||||
|
- **tag** (optional):
|
||||||
|
- **Type:** `string`
|
||||||
|
- **Default:** `latest`
|
||||||
|
- **Description:** Tag to be assigned to the Docker image. If not provided, it defaults to `latest`.
|
||||||
|
|
||||||
|
- **username** (optional):
|
||||||
|
- **Type:** `string`
|
||||||
|
- **Default:** `${{ vars.REGISTRY_USERNAME }}`
|
||||||
|
- **Description:** Username for the Docker registry authentication. Defaults to authenticated `registry` user.
|
||||||
|
|
||||||
|
- **password** (optional):
|
||||||
|
- **Type:** `string`
|
||||||
|
- **Default:** `${{ vars.REGISTRY_PASSWORD }}`
|
||||||
|
- **Description:** Password for the Docker registry authentication. Defaults to authenticated `registry` user.
|
||||||
|
|
||||||
|
### Steps
|
||||||
|
|
||||||
|
1. **Checkout Code:**
|
||||||
|
- **Action:** `actions/checkout@v4`
|
||||||
|
- **Description:** This step checks out the code from the repository, ensuring the latest version of the code is available for building the Docker image.
|
||||||
|
|
||||||
|
2. **Login to Docker Registry:**
|
||||||
|
- **Action:** `docker/login-action@v3`
|
||||||
|
- **Description:** Logs into the Docker registry (`git.qlic.nl`) using the provided `username` and `password` inputs.
|
||||||
|
- **Inputs:**
|
||||||
|
- `registry`: Set to `git.qlic.nl`
|
||||||
|
- `username`: Provided via `${{ inputs.username }}`
|
||||||
|
- `password`: Provided via `${{ inputs.password }}`
|
||||||
|
|
||||||
|
3. **Build Docker Image:**
|
||||||
|
- **Command:**
|
||||||
|
```bash
|
||||||
|
docker build . -t ${{ vars.REGISTRY }}/${{ gitea.repository }}:${{ inputs.tag }} -t ${{ vars.REGISTRY }}/${{ gitea.repository }}:${{ gitea.sha }}
|
||||||
|
```
|
||||||
|
- **Description:** Builds a Docker image from the current code. The image is tagged with both the user-provided `tag` (or the default `latest` if not provided) and the current Git commit SHA.
|
||||||
|
|
||||||
|
4. **Push Docker Image:**
|
||||||
|
- **Command:**
|
||||||
|
```bash
|
||||||
|
docker push ${{ vars.REGISTRY }}/${{ gitea.repository }} --all-tags
|
||||||
|
```
|
||||||
|
- **Description:** Pushes the built Docker image to the Docker registry (`git.qlic.nl`), ensuring that all tags are pushed.
|
Loading…
x
Reference in New Issue
Block a user