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