Skip to content

Commit 94fdeb2

Browse files
committed
airでホットリロードに対応
1 parent a257f00 commit 94fdeb2

File tree

4 files changed

+51
-3
lines changed

4 files changed

+51
-3
lines changed

.air.toml

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
root = "."
2+
tmp_dir = "tmp"
3+
4+
[build]
5+
cmd = "go build -o ./tmp/main ."
6+
bin = "tmp/main"
7+
full_bin = "APP_ENV=dev APP_USER=air ./tmp/main"
8+
include_ext = ["go", "tpl", "tmpl", "html"]
9+
exclude_dir = ["assets", "tmp", "vendor", "frontend/node_modules"]
10+
include_dir = []
11+
exclude_file = []
12+
exclude_unchanged = true
13+
log = "air.log"
14+
delay = 1000 # ms
15+
stop_on_error = true
16+
send_interrupt = false
17+
kill_delay = 500 # ms
18+
19+
[log]
20+
time = false
21+
22+
[color]
23+
main = "magenta"
24+
watcher = "cyan"
25+
build = "yellow"
26+
runner = "green"
27+
28+
[misc]
29+
clean_on_exit = true

Dockerfile

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ WORKDIR /app
44

55
COPY . .
66

7+
RUN go get -u github.com/cosmtrek/air
8+
RUN go install github.com/cosmtrek/air
79
RUN go mod download
810

9-
RUN go build -o main .
10-
1111
EXPOSE 8080
1212

13-
CMD ["go", "run", "main.go"]
13+
CMD ["air", "-c", ".air.toml"]

go.mod

+8
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ go 1.21.4
44

55
require github.com/gin-gonic/gin v1.9.1
66

7+
require (
8+
github.com/go-sql-driver/mysql v1.7.0 // indirect
9+
github.com/jinzhu/inflection v1.0.0 // indirect
10+
github.com/jinzhu/now v1.1.5 // indirect
11+
)
12+
713
require (
814
github.com/bytedance/sonic v1.10.2 // indirect
915
github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect
@@ -31,4 +37,6 @@ require (
3137
golang.org/x/text v0.14.0 // indirect
3238
google.golang.org/protobuf v1.31.0 // indirect
3339
gopkg.in/yaml.v3 v3.0.1 // indirect
40+
gorm.io/driver/mysql v1.5.2
41+
gorm.io/gorm v1.25.5
3442
)

go.sum

+11
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,18 @@ github.com/go-playground/validator/v10 v10.14.0 h1:vgvQWe3XCz3gIeFDm/HnTIbj6UGmg
3535
github.com/go-playground/validator/v10 v10.14.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU=
3636
github.com/go-playground/validator/v10 v10.16.0 h1:x+plE831WK4vaKHO/jpgUGsvLKIqRRkz6M78GuJAfGE=
3737
github.com/go-playground/validator/v10 v10.16.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU=
38+
github.com/go-sql-driver/mysql v1.7.0 h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ7YPc=
39+
github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
3840
github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU=
3941
github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
4042
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
4143
github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
4244
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
4345
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
46+
github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E=
47+
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
48+
github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ=
49+
github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
4450
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
4551
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
4652
github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
@@ -122,5 +128,10 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntN
122128
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
123129
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
124130
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
131+
gorm.io/driver/mysql v1.5.2 h1:QC2HRskSE75wBuOxe0+iCkyJZ+RqpudsQtqkp+IMuXs=
132+
gorm.io/driver/mysql v1.5.2/go.mod h1:pQLhh1Ut/WUAySdTHwBpBv6+JKcj+ua4ZFx1QQTBzb8=
133+
gorm.io/gorm v1.25.2-0.20230530020048-26663ab9bf55/go.mod h1:L4uxeKpfBml98NYqVqwAdmV1a2nBtAec/cf3fpucW/k=
134+
gorm.io/gorm v1.25.5 h1:zR9lOiiYf09VNh5Q1gphfyia1JpiClIWG9hQaxB/mls=
135+
gorm.io/gorm v1.25.5/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8=
125136
nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50=
126137
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=

0 commit comments

Comments
 (0)