mirror of https://github.com/mingrammer/diagrams
Docker local development setup (#210)
* Docker local development setup * Add DEVELOPMENT.md and update dev Dockerfile * Delete setup.txt and fix DEVELOPMENT.md sequencepull/222/head
parent
dac39a861e
commit
eef343b71f
@ -0,0 +1,37 @@
|
|||||||
|
# Development Guide
|
||||||
|
|
||||||
|
## Docker local development setup
|
||||||
|
|
||||||
|
You should have docker installed in your system, if not click [here](https://docs.docker.com/get-docker/).
|
||||||
|
|
||||||
|
1. Go to diagrams root directory.
|
||||||
|
|
||||||
|
2. Build the docker image.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
docker build --tag diagrams:1.0 -f ./docker/dev/Dockerfile .
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Create the container, run in background and mount the project source code.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
docker run -d \
|
||||||
|
-it \
|
||||||
|
--name diagrams \
|
||||||
|
--mount type=bind,source="$(pwd)",target=/usr/src/diagrams \
|
||||||
|
diagrams:1.0
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Run unit tests in the host using the container to confirm that it's working.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
docker exec diagrams python -m unittest tests/*.py -v
|
||||||
|
```
|
||||||
|
|
||||||
|
5. Run the bash script `autogen.sh` to test.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
docker exec diagrams ./autogen.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
6. If the unit tests and the bash script `autogen.sh` is working correctly, then your system is now ready for development.
|
@ -0,0 +1,21 @@
|
|||||||
|
# use latest python alphine image.
|
||||||
|
FROM python:rc-alpine3.12
|
||||||
|
|
||||||
|
# install system dependencies.
|
||||||
|
RUN apk update && apk add --no-cache \
|
||||||
|
gcc libc-dev g++ graphviz git bash go imagemagick inkscape
|
||||||
|
|
||||||
|
# install go package.
|
||||||
|
RUN go get github.com/mingrammer/round
|
||||||
|
|
||||||
|
# add go bin to path.
|
||||||
|
ENV PATH "$PATH:/root/go/bin"
|
||||||
|
|
||||||
|
# project directory.
|
||||||
|
WORKDIR /usr/src/diagrams
|
||||||
|
|
||||||
|
# Copy the rest of your app's source code from your host to your image filesystem.
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
# install python requirements.
|
||||||
|
RUN pip install black
|
Loading…
Reference in new issue