Files
gitea-actions-demo-project/README.md
Nikola Derežić e5cfae67dc
Some checks failed
Build and Push Docker Image / build (push) Failing after 46s
(doc) Update README and clean up workflow step name
Updated README to document registry authentication setup using REGISTRY_USERNAME and REGISTRY_TOKEN configured in repo settings. Also removed debug info from workflow step name.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-09 12:37:14 +01:00

79 lines
2.5 KiB
Markdown

# Gitea Actions Demo Project
A simple Node.js "Hello World" application demonstrating Gitea Actions CI/CD pipeline with Docker build and push.
## Project Structure
```
.
├── .gitea/
│ └── workflows/
│ └── build.yml # Gitea Actions workflow
├── index.js # Main application
├── package.json # Project configuration
├── Dockerfile # Docker image definition
├── .dockerignore # Docker ignore file
└── README.md # This file
```
## Application
The application is a simple Node.js script that prints "Hello World" to the console.
### Running Locally
```bash
node index.js
```
### Running with Docker
```bash
# Build the image
docker build -t gitea-actions-demo-project:1.0.0 .
# Run the container
docker run gitea-actions-demo-project:1.0.0
```
## Gitea Actions CI/CD Pipeline
The project includes a Gitea Actions workflow that automatically:
1. Triggers on push to `master` or `main` branches
2. Checks out the code
3. Reads the version from `package.json`
4. Builds a Docker image
5. Pushes the image to `registry.budakova.org/knee-cola/gitea-actions-demo-project:<version>`
6. Also tags and pushes as `latest`
### Workflow File
The workflow is defined in [.gitea/workflows/build.yml](.gitea/workflows/build.yml)
### Registry Authentication
The workflow authenticates to the Docker registry using credentials configured in the repository settings:
1. **REGISTRY_USERNAME** - Action variable defined in repository settings (Settings → Actions → Variables)
2. **REGISTRY_TOKEN** - Action secret defined in repository settings (Settings → Actions → Secrets)
The `REGISTRY_TOKEN` should be a personal access token created in your Gitea user settings with the `write:packages` scope.
### Image Naming
Images are pushed with two tags:
- `registry.budakova.org/knee-cola/gitea-actions-demo-project:<version-from-package.json>`
- `registry.budakova.org/knee-cola/gitea-actions-demo-project:latest`
## Updating the Version
To change the version of your Docker image, simply update the `version` field in [package.json](package.json). The next push to master/main will build and push the new version.
## Testing the Workflow
1. Make a change to the code or update the version in `package.json`
2. Commit and push to master/main branch
3. Check the Actions tab in your Gitea repository to see the workflow running
4. Once complete, your Docker image will be available at the registry