Added Dockerfile and drone config to auto build and deploy new versions
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
5961efa731
commit
917deb717f
2
.dockerignore
Normal file
2
.dockerignore
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
/target
|
||||||
|
.env
|
46
.drone.yml
Normal file
46
.drone.yml
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: default
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: build
|
||||||
|
image: docker
|
||||||
|
volumes:
|
||||||
|
- name: socket
|
||||||
|
path: /var/run/docker.sock
|
||||||
|
commands:
|
||||||
|
- DOCKER_BUILDKIT=1 docker build -t automation_rs .
|
||||||
|
|
||||||
|
- name: deploy
|
||||||
|
image: docker
|
||||||
|
volumes:
|
||||||
|
- name: socket
|
||||||
|
path: /var/run/docker.sock
|
||||||
|
environment:
|
||||||
|
MQTT_PASSWORD:
|
||||||
|
from_secret: MQTT_PASSWORD
|
||||||
|
HUE_TOKEN:
|
||||||
|
from_secret: HUE_TOKEN
|
||||||
|
NTFY_TOPIC:
|
||||||
|
from_secret: NTFY_TOPIC
|
||||||
|
commands:
|
||||||
|
- docker stop automation_rs || true
|
||||||
|
|
||||||
|
- docker rm automation_rs || true
|
||||||
|
|
||||||
|
- docker create -e MQTT_PASSWORD=$MQTT_PASSWORD -e HUE_TOKEN=$HUE_TOKEN -e NTFY_TOPIC=$NTFY_TOPIC --name automation_rs automation_rs
|
||||||
|
- docker network connect mqtt automation_rs
|
||||||
|
- docker network connect web automation_rs
|
||||||
|
- docker start automation_rs
|
||||||
|
|
||||||
|
when:
|
||||||
|
branch:
|
||||||
|
- master
|
||||||
|
event:
|
||||||
|
exclude:
|
||||||
|
- pull_request
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: socket
|
||||||
|
host:
|
||||||
|
path: /var/run/docker.sock
|
20
Dockerfile
Normal file
20
Dockerfile
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
FROM rustlang/rust:nightly-slim AS build
|
||||||
|
|
||||||
|
RUN cargo new --bin /app
|
||||||
|
RUN cargo new --lib /app/impl_cast
|
||||||
|
RUN cargo new --lib /app/google-home
|
||||||
|
|
||||||
|
COPY impl_cast/Cargo.toml /app/impl_cast
|
||||||
|
COPY google-home/Cargo.toml /app/google-home
|
||||||
|
COPY Cargo.toml Cargo.lock /app/
|
||||||
|
|
||||||
|
WORKDIR /app/
|
||||||
|
RUN --mount=type=cache,target=/usr/local/cargo/registry cargo build --release
|
||||||
|
|
||||||
|
COPY impl_cast/src/ /app/impl_cast/src/
|
||||||
|
COPY google-home/src/ /app/google-home/src/
|
||||||
|
COPY src/ /app/src/
|
||||||
|
|
||||||
|
RUN --mount=type=cache,target=/usr/local/cargo/registry set -e; touch /app/src/main.rs /app/src/lib.rs /app/google-home/src/lib.rs /app/impl_cast/src/lib.rs; cargo build --release
|
||||||
|
|
||||||
|
CMD ["/app/target/release/automation"]
|
Loading…
Reference in New Issue
Block a user