Skip to content

Commit

Permalink
Update air hot-reload (only for dev, commented)
Browse files Browse the repository at this point in the history
  • Loading branch information
jeremy5189 committed Aug 13, 2024
1 parent 5b9405d commit bb3ba4d
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 16 deletions.
46 changes: 35 additions & 11 deletions .air.toml
Original file line number Diff line number Diff line change
@@ -1,49 +1,63 @@
# Config file for [Air](https://github.com/cosmtrek/air) in TOML format

# COPY ./.air.toml /opt/banjax/
# RUN go get -u github.com/cosmtrek/air
# CMD ["air"]
# Config file for [Air](https://github.com/air-verse/air) in TOML format

# Working directory
# . or absolute path, please note that the directories following must be under root.
root = "."
tmp_dir = "tmp"

[build]
# Array of commands to run before each build
pre_cmd = []
# Just plain old shell command. You could use `make` as well.
cmd = "go build -o ./banjax ."
cmd = "go build -o ./tmp/main ."
# Array of commands to run after ^C
post_cmd = []
# Binary file yields from `cmd`.
bin = "banjax"
bin = "tmp/main"
# Customize binary, can setup environment variables when run your app.
full_bin = "APP_ENV=dev APP_USER=air ./banjax --config-file /opt/banjax/banjax-config.yaml"
full_bin = "APP_ENV=dev APP_USER=air ./tmp/main"
# Add additional arguments when running binary (bin/full_bin). Will run './tmp/main hello world'.
args_bin = ["hello", "world"]
# Watch these filename extensions.
include_ext = ["go", "tpl", "tmpl", "html"]
# Ignore these filename extensions or directories.
exclude_dir = ["assets", "tmp", "vendor", "frontend/node_modules"]
# Watch these directories if you specified.
include_dir = []
# Watch these files.
include_file = []
# Exclude files.
exclude_file = []
# Exclude specific regular expressions.
exclude_regex = ["_test.go"]
exclude_regex = ["_test\\.go"]
# Exclude unchanged files.
exclude_unchanged = true
# Follow symlink for directories
follow_symlink = true
# This log file places in your tmp_dir.
log = "air.log"
# Poll files for changes instead of using fsnotify.
poll = false
# Poll interval (defaults to the minimum interval of 500ms).
poll_interval = 500 # ms
# It's not necessary to trigger build each time file changes if it's too frequent.
delay = 1000 # ms
delay = 0 # ms
# Stop running old binary when build errors occur.
stop_on_error = true
# Send Interrupt signal before killing process (windows does not support this feature)
send_interrupt = false
# Delay after sending Interrupt signal
kill_delay = 500 # ms
kill_delay = 500 # nanosecond
# Rerun binary or not
rerun = false
# Delay after each execution
rerun_delay = 500

[log]
# Show log time
time = false
# Only show main log (silences watcher, build, runner)
main_only = false

[color]
# Customize each part's color. If no color found, use the raw app log.
Expand All @@ -55,3 +69,13 @@ runner = "green"
[misc]
# Delete tmp directory on exit
clean_on_exit = true

[screen]
clear_on_rebuild = true
keep_scroll = true

# Enable live-reloading on the browser.
[proxy]
enabled = true
proxy_port = 8090
app_port = 8080
9 changes: 4 additions & 5 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,8 @@ EXPOSE 8081
WORKDIR /opt/banjax

# To enable live reload for dev, uncomment the following lines
#COPY ./.air.toml /opt/banjax/
#RUN go mod edit -replace github.com/imdario/mergo=dario.cat/[email protected]
#RUN go get -u github.com/cosmtrek/[email protected]
#RUN mkdir -p /opt/banjax/tmp
#CMD ["air"]
# COPY ./.air.toml /opt/banjax/
# RUN go install github.com/air-verse/air@latest
# RUN mkdir -p /opt/banjax/tmp
# CMD ["air", "-c", ".air.toml"]
CMD ["./banjax"]

0 comments on commit bb3ba4d

Please sign in to comment.