when: - event: push branch: main steps: build: image: golang:1.24 environment: CGO_ENABLED: 0 GOOS: linux GOARCH: amd64 commands: - mkdir -p ./tmp - go get - go build -o ./tmp/learndrone ./main.go docker-build: image: docker:23 volumes: - /var/run/docker.sock:/var/run/docker.sock - /containers/learndrone:/containers/learndrone commands: - docker build -t learndrone:latest . - docker save learndrone:latest -o /containers/learndrone/learndrone.tar deploy: image: docker:23 volumes: - /var/run/docker.sock:/var/run/docker.sock - /containers/learndrone:/containers/learndrone commands: - docker load -i /containers/learndrone/learndrone.tar - docker-compose down - docker-compose up -d