# 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:` 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:` - `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