37 lines
1.2 KiB
Markdown
37 lines
1.2 KiB
Markdown
---
|
|
layout: layouts/base.njk
|
|
permalink: /image/
|
|
---
|
|
|
|
# [taskfile.build](https://taskfile.build/image)
|
|
|
|
[](https://hub.docker.com/r/janikvonrotz/taskfile.build/)
|
|
|
|
The taskfile.build Docker image runs any project.
|
|
|
|
Source: <https://git.taskfile.build/tree/main/image>
|
|
|
|
## Usage
|
|
|
|
Setup environment variables:
|
|
|
|
```bash
|
|
export GIT_URL="https://git.taskfile.build" # required
|
|
export TASK_COMMANDS="install,build" # required if task file exists
|
|
export CADDY_ROOT="_site" # default is path to the repo
|
|
```
|
|
|
|
Run the tasfile.buld image:
|
|
|
|
```bash
|
|
function run() {
|
|
echo "Open http://localhost:8080 in your browser"
|
|
docker run -p 8080:80 \
|
|
-e GIT_URL="$GIT_URL" \
|
|
-e TASK_COMMANDS="$TASK_COMMANDS" \
|
|
-e CADDY_ROOT="$CADDY_ROOT" \
|
|
janikvonrotz/taskfile.build:latest
|
|
```
|
|
|
|
The entrypoint script of the container will clone the project from git url. If the project is already cloned it will pull the origin. Afterwards if runs each command in the root the of the cloned repository with the task file `./task <command>`. Finally the Caddy webserver is started that serves static content from the root path.
|