Re: [yocto] [PATCH V2] patchwork: Add a dockerfile for deploy patchwork and patchtest

2019-02-12 Thread Jose Lamego
Hi Randy,

Sorry for the late response. I'm no longer involved with the Yocto
Project. Last word I heard was that point of contact for Patchwork-
related work was Paul Eggleton.

Hope this helps.

Jose

On Mon, 2019-01-28 at 20:30 -0500, Randy MacLeod wrote:
> On 1/16/19 12:37 AM, changqing...@windriver.com wrote:
> > From: Changqing Li 
> 
> Ping?
> 
> Jose, are you maintaining this repo?
>http://git.yoctoproject.org/cgit/cgit.cgi/patchwork/about/
> You were the committer for most of the recent work.
> 
> ../Randy
> > Add a dockerfile for easy deploy patchwork and patchtest in
> > docker
> > 
> > Signed-off-by: Changqing Li 
> > ---
> >   Dockerfile.pw | 52
> > +++
> >   README.pw | 32 ++
> >   requirements.txt  | 12 ++
> >   scripts/pw_createsuperuser.sh |  5 +
> >   scripts/pw_getmail.sh | 11 +
> >   scripts/pw_migrate.sh |  5 +
> >   scripts/pw_runwebserver.sh| 12 ++
> >   7 files changed, 129 insertions(+)
> >   create mode 100644 Dockerfile.pw
> >   create mode 100644 README.pw
> >   create mode 100644 requirements.txt
> >   create mode 100755 scripts/pw_createsuperuser.sh
> >   create mode 100755 scripts/pw_getmail.sh
> >   create mode 100755 scripts/pw_migrate.sh
> >   create mode 100755 scripts/pw_runwebserver.sh
> > 
> > diff --git a/Dockerfile.pw b/Dockerfile.pw
> > new file mode 100644
> > index 000..ae3c1ee
> > --- /dev/null
> > +++ b/Dockerfile.pw
> > @@ -0,0 +1,52 @@
> > +FROM ubuntu:latest
> > +MAINTAINER owner 
> > +
> > +EXPOSE 8080
> > +
> > +ENV PYTHONUNBUFFERED=1 \
> > +LANG=en_US.UTF-8 \
> > +LC_ALL=en_US.UTF-8 \
> > +LC_CTYPE=en_US.UTF-8 \
> > +PATH="$PATH:/opt/patchwork/git-
> > pw:/opt/patchtest:/opt/patchtest/scripts"
> > +
> > +RUN  apt-get update \
> > +&& apt-get dist-upgrade -y \
> > +&& apt-get install -y --no-install-recommends \
> > +autoconf \
> > +gcc \
> > +g++ \
> > +make \
> > +locales \
> > +wget \
> > +curl \
> > +cron \
> > +python-pip \
> > +python-dev \
> > +python-setuptools \
> > +python3-pip \
> > +python3-dev \
> > +libmysqlclient-dev \
> > +git-core \
> > +getmail4 \
> > +&& sh -c "echo \"en_US.UTF-8 UTF-8\" >> /etc/locale.gen" \
> > +&& locale-gen en_US.UTF-8 \
> > +&& update-locale \
> > +&& pip2 install wheel \
> > +&& pip3 install wheel \
> > +&& pip3 install setuptools \
> > +&& apt-get autoremove --purge -y \
> > +&& rm -rf /var/lib/apt/lists/* \
> > +&& apt-get clean
> > +ADD ./patchwork /opt/patchwork
> > +ADD ./patchtest /opt/patchtest
> > +ADD ./patchtest-oe /opt/patchtest-oe
> > +ADD ./getmailrc /opt/getmail/getmailrc
> > +RUN  pip2 install -r /opt/patchwork/requirements.txt \
> > +&& pip3 install -r /opt/patchtest/requirements.txt \
> > +&& pip3 install  -r /opt/patchtest-oe/requirements.txt \
> > +&& mkdir -p /opt/getmail \
> > +&& mkdir -p /opt/pw-logs \
> > +&& git config --global user.email "patcht...@patchtest.com" \
> > +&& git config --global user.name "patchtest" \
> > +&& /opt/patchtest/scripts/create-host-test-folder -t /opt/pw-
> > test \
> > +&& /opt/patchtest/scripts/create-host-crontab -c /opt/pw-test-
> > cron
> > diff --git a/README.pw b/README.pw
> > new file mode 100644
> > index 000..ffa7af1
> > --- /dev/null
> > +++ b/README.pw
> > @@ -0,0 +1,32 @@
> > +* Dockerfile.pw deploy patchwork, patchtest, patchtest-oe in
> > docker
> > +
> > +* Dockerfile.pw is just an example, you can adjust according to
> > your
> > +  deploy condition, like not use getmail, but use postfix.
> > +
> > +* requirements.txt,  just for refer, you can also rewrite this
> > +  according to patchwork'doc and accoridng to your deploy
> > condition.
> > +
> > +* scripts folder hold the files will be used during deploy with
> > docker.
> > +
> > +* Deploy steps:
> > +
> > +1. Clone patchwork, patchtest, patchtest-oe first, also put
> > getmailrc used by
> > +   Dockerfile.pw under the same folder.
> > +
> > +2. Build docker image with Dockerfile.pw
> > +$docker build -t pw -f ./patchwork/Dockerfile.pw .
> > +
> > +3. use mariadb as dataserver:
> > +$ docker pull mariadb
> > +$ docker run -d --name pw-db -e MYSQL_ROOT_PASSWORD=123456 -e
> > MYSQL_DATABASE=pwdb -v /pw/pwdb:/var/lib/mysql mariadb
> > +
> > +5. run web server
> > +docker run -d --name pw-web --link pw-db:pw-db -p 8080:8080 pw
> > "/opt/patchwork/scripts/pw_runwebserver.sh"
> > +
> > +6. config pw
> > +docker exec -it pw-web /opt/patchwork/scripts/pw_migrate.sh
> > +docker exec -it pw-web
> > /opt/patchwork/scripts/pw_createsuperuser.sh
> > +
> > +7. run patchwork
> > +docker run -d --name pw-mail --link pw-db:pw-db pw
> > "/opt/patchwork/scripts/pw_getmail.sh"
> > +

Re: [yocto] [PATCH V2] patchwork: Add a dockerfile for deploy patchwork and patchtest

2019-02-10 Thread Paul Eggleton
Not actively, no. I will try to take a look at your patch this week though.

Cheers,
Paul

On Monday, 11 February 2019 2:17:16 PM NZDT Changqing Li wrote:
> Hi, Paul
> 
> Are you maintaining this repo?
> 
> On 2/10/19 2:43 AM, Jose Lamego wrote:
> > Hi Randy,
> >
> > Sorry for the late response. I'm no longer involved with the Yocto
> > Project. Last word I heard was that point of contact for Patchwork-
> > related work was Paul Eggleton.
> >
> > Hope this helps.
> >
> > Jose
> Thanks.
> >
> > On Mon, 2019-01-28 at 20:30 -0500, Randy MacLeod wrote:
> >> On 1/16/19 12:37 AM, changqing...@windriver.com wrote:
> >>> From: Changqing Li 
> >> Ping?
> >>
> >> Jose, are you maintaining this repo?
> >> http://git.yoctoproject.org/cgit/cgit.cgi/patchwork/about/
> >> You were the committer for most of the recent work.
> >>
> >> ../Randy
> >>> Add a dockerfile for easy deploy patchwork and patchtest in
> >>> docker
> >>>
> >>> Signed-off-by: Changqing Li 
> >>> ---
> >>>Dockerfile.pw | 52
> >>> +++
> >>>README.pw | 32 ++
> >>>requirements.txt  | 12 ++
> >>>scripts/pw_createsuperuser.sh |  5 +
> >>>scripts/pw_getmail.sh | 11 +
> >>>scripts/pw_migrate.sh |  5 +
> >>>scripts/pw_runwebserver.sh| 12 ++
> >>>7 files changed, 129 insertions(+)
> >>>create mode 100644 Dockerfile.pw
> >>>create mode 100644 README.pw
> >>>create mode 100644 requirements.txt
> >>>create mode 100755 scripts/pw_createsuperuser.sh
> >>>create mode 100755 scripts/pw_getmail.sh
> >>>create mode 100755 scripts/pw_migrate.sh
> >>>create mode 100755 scripts/pw_runwebserver.sh
> >>>
> >>> diff --git a/Dockerfile.pw b/Dockerfile.pw
> >>> new file mode 100644
> >>> index 000..ae3c1ee
> >>> --- /dev/null
> >>> +++ b/Dockerfile.pw
> >>> @@ -0,0 +1,52 @@
> >>> +FROM ubuntu:latest
> >>> +MAINTAINER owner 
> >>> +
> >>> +EXPOSE 8080
> >>> +
> >>> +ENV PYTHONUNBUFFERED=1 \
> >>> +LANG=en_US.UTF-8 \
> >>> +LC_ALL=en_US.UTF-8 \
> >>> +LC_CTYPE=en_US.UTF-8 \
> >>> +PATH="$PATH:/opt/patchwork/git-
> >>> pw:/opt/patchtest:/opt/patchtest/scripts"
> >>> +
> >>> +RUN  apt-get update \
> >>> +&& apt-get dist-upgrade -y \
> >>> +&& apt-get install -y --no-install-recommends \
> >>> +autoconf \
> >>> +gcc \
> >>> +g++ \
> >>> +make \
> >>> +locales \
> >>> +wget \
> >>> +curl \
> >>> +cron \
> >>> +python-pip \
> >>> +python-dev \
> >>> +python-setuptools \
> >>> +python3-pip \
> >>> +python3-dev \
> >>> +libmysqlclient-dev \
> >>> +git-core \
> >>> +getmail4 \
> >>> +&& sh -c "echo \"en_US.UTF-8 UTF-8\" >> /etc/locale.gen" \
> >>> +&& locale-gen en_US.UTF-8 \
> >>> +&& update-locale \
> >>> +&& pip2 install wheel \
> >>> +&& pip3 install wheel \
> >>> +&& pip3 install setuptools \
> >>> +&& apt-get autoremove --purge -y \
> >>> +&& rm -rf /var/lib/apt/lists/* \
> >>> +&& apt-get clean
> >>> +ADD ./patchwork /opt/patchwork
> >>> +ADD ./patchtest /opt/patchtest
> >>> +ADD ./patchtest-oe /opt/patchtest-oe
> >>> +ADD ./getmailrc /opt/getmail/getmailrc
> >>> +RUN  pip2 install -r /opt/patchwork/requirements.txt \
> >>> +&& pip3 install -r /opt/patchtest/requirements.txt \
> >>> +&& pip3 install  -r /opt/patchtest-oe/requirements.txt \
> >>> +&& mkdir -p /opt/getmail \
> >>> +&& mkdir -p /opt/pw-logs \
> >>> +&& git config --global user.email "patcht...@patchtest.com" \
> >>> +&& git config --global user.name "patchtest" \
> >>> +&& /opt/patchtest/scripts/create-host-test-folder -t /opt/pw-
> >>> test \
> >>> +&& /opt/patchtest/scripts/create-host-crontab -c /opt/pw-test-
> >>> cron
> >>> diff --git a/README.pw b/README.pw
> >>> new file mode 100644
> >>> index 000..ffa7af1
> >>> --- /dev/null
> >>> +++ b/README.pw
> >>> @@ -0,0 +1,32 @@
> >>> +* Dockerfile.pw deploy patchwork, patchtest, patchtest-oe in
> >>> docker
> >>> +
> >>> +* Dockerfile.pw is just an example, you can adjust according to
> >>> your
> >>> +  deploy condition, like not use getmail, but use postfix.
> >>> +
> >>> +* requirements.txt,  just for refer, you can also rewrite this
> >>> +  according to patchwork'doc and accoridng to your deploy
> >>> condition.
> >>> +
> >>> +* scripts folder hold the files will be used during deploy with
> >>> docker.
> >>> +
> >>> +* Deploy steps:
> >>> +
> >>> +1. Clone patchwork, patchtest, patchtest-oe first, also put
> >>> getmailrc used by
> >>> +   Dockerfile.pw under the same folder.
> >>> +
> >>> +2. Build docker image with Dockerfile.pw
> >>> +$docker build -t pw -f ./patchwork/Dockerfile.pw .
> >>> +
> >>> +3. use mariadb as dataserver:
> >>> +$ docker pull mariadb
> >>> +$ d

Re: [yocto] [PATCH V2] patchwork: Add a dockerfile for deploy patchwork and patchtest

2019-02-10 Thread Changqing Li

Hi, Paul

Are you maintaining this repo?

On 2/10/19 2:43 AM, Jose Lamego wrote:

Hi Randy,

Sorry for the late response. I'm no longer involved with the Yocto
Project. Last word I heard was that point of contact for Patchwork-
related work was Paul Eggleton.

Hope this helps.

Jose

Thanks.


On Mon, 2019-01-28 at 20:30 -0500, Randy MacLeod wrote:

On 1/16/19 12:37 AM, changqing...@windriver.com wrote:

From: Changqing Li 

Ping?

Jose, are you maintaining this repo?
http://git.yoctoproject.org/cgit/cgit.cgi/patchwork/about/
You were the committer for most of the recent work.

../Randy

Add a dockerfile for easy deploy patchwork and patchtest in
docker

Signed-off-by: Changqing Li 
---
   Dockerfile.pw | 52
+++
   README.pw | 32 ++
   requirements.txt  | 12 ++
   scripts/pw_createsuperuser.sh |  5 +
   scripts/pw_getmail.sh | 11 +
   scripts/pw_migrate.sh |  5 +
   scripts/pw_runwebserver.sh| 12 ++
   7 files changed, 129 insertions(+)
   create mode 100644 Dockerfile.pw
   create mode 100644 README.pw
   create mode 100644 requirements.txt
   create mode 100755 scripts/pw_createsuperuser.sh
   create mode 100755 scripts/pw_getmail.sh
   create mode 100755 scripts/pw_migrate.sh
   create mode 100755 scripts/pw_runwebserver.sh

diff --git a/Dockerfile.pw b/Dockerfile.pw
new file mode 100644
index 000..ae3c1ee
--- /dev/null
+++ b/Dockerfile.pw
@@ -0,0 +1,52 @@
+FROM ubuntu:latest
+MAINTAINER owner 
+
+EXPOSE 8080
+
+ENV PYTHONUNBUFFERED=1 \
+LANG=en_US.UTF-8 \
+LC_ALL=en_US.UTF-8 \
+LC_CTYPE=en_US.UTF-8 \
+PATH="$PATH:/opt/patchwork/git-
pw:/opt/patchtest:/opt/patchtest/scripts"
+
+RUN  apt-get update \
+&& apt-get dist-upgrade -y \
+&& apt-get install -y --no-install-recommends \
+autoconf \
+gcc \
+g++ \
+make \
+locales \
+wget \
+curl \
+cron \
+python-pip \
+python-dev \
+python-setuptools \
+python3-pip \
+python3-dev \
+libmysqlclient-dev \
+git-core \
+getmail4 \
+&& sh -c "echo \"en_US.UTF-8 UTF-8\" >> /etc/locale.gen" \
+&& locale-gen en_US.UTF-8 \
+&& update-locale \
+&& pip2 install wheel \
+&& pip3 install wheel \
+&& pip3 install setuptools \
+&& apt-get autoremove --purge -y \
+&& rm -rf /var/lib/apt/lists/* \
+&& apt-get clean
+ADD ./patchwork /opt/patchwork
+ADD ./patchtest /opt/patchtest
+ADD ./patchtest-oe /opt/patchtest-oe
+ADD ./getmailrc /opt/getmail/getmailrc
+RUN  pip2 install -r /opt/patchwork/requirements.txt \
+&& pip3 install -r /opt/patchtest/requirements.txt \
+&& pip3 install  -r /opt/patchtest-oe/requirements.txt \
+&& mkdir -p /opt/getmail \
+&& mkdir -p /opt/pw-logs \
+&& git config --global user.email "patcht...@patchtest.com" \
+&& git config --global user.name "patchtest" \
+&& /opt/patchtest/scripts/create-host-test-folder -t /opt/pw-
test \
+&& /opt/patchtest/scripts/create-host-crontab -c /opt/pw-test-
cron
diff --git a/README.pw b/README.pw
new file mode 100644
index 000..ffa7af1
--- /dev/null
+++ b/README.pw
@@ -0,0 +1,32 @@
+* Dockerfile.pw deploy patchwork, patchtest, patchtest-oe in
docker
+
+* Dockerfile.pw is just an example, you can adjust according to
your
+  deploy condition, like not use getmail, but use postfix.
+
+* requirements.txt,  just for refer, you can also rewrite this
+  according to patchwork'doc and accoridng to your deploy
condition.
+
+* scripts folder hold the files will be used during deploy with
docker.
+
+* Deploy steps:
+
+1. Clone patchwork, patchtest, patchtest-oe first, also put
getmailrc used by
+   Dockerfile.pw under the same folder.
+
+2. Build docker image with Dockerfile.pw
+$docker build -t pw -f ./patchwork/Dockerfile.pw .
+
+3. use mariadb as dataserver:
+$ docker pull mariadb
+$ docker run -d --name pw-db -e MYSQL_ROOT_PASSWORD=123456 -e
MYSQL_DATABASE=pwdb -v /pw/pwdb:/var/lib/mysql mariadb
+
+5. run web server
+docker run -d --name pw-web --link pw-db:pw-db -p 8080:8080 pw
"/opt/patchwork/scripts/pw_runwebserver.sh"
+
+6. config pw
+docker exec -it pw-web /opt/patchwork/scripts/pw_migrate.sh
+docker exec -it pw-web
/opt/patchwork/scripts/pw_createsuperuser.sh
+
+7. run patchwork
+docker run -d --name pw-mail --link pw-db:pw-db pw
"/opt/patchwork/scripts/pw_getmail.sh"
+
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 000..b8f68f2
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,12 @@
+django==1.8.0
+sqlparse==0.2.4
+celery==3.1.20
+django_filter==0.11.0
+djangorestframework==2.4.8
+drf-nested-routers==0.11.1
+psycopg2>=2.7,<2.8
+mysqlclient
+jsonfield
+enum34
+GitPython
+requests
diff --git a/scripts/pw_createsuperuser.sh
b/scripts/pw_createsuperuser.sh
new fil

Re: [yocto] [PATCH V2] patchwork: Add a dockerfile for deploy patchwork and patchtest

2019-01-28 Thread Randy MacLeod

On 1/16/19 12:37 AM, changqing...@windriver.com wrote:

From: Changqing Li 


Ping?

Jose, are you maintaining this repo?
  http://git.yoctoproject.org/cgit/cgit.cgi/patchwork/about/
You were the committer for most of the recent work.

../Randy


Add a dockerfile for easy deploy patchwork and patchtest in
docker

Signed-off-by: Changqing Li 
---
  Dockerfile.pw | 52 +++
  README.pw | 32 ++
  requirements.txt  | 12 ++
  scripts/pw_createsuperuser.sh |  5 +
  scripts/pw_getmail.sh | 11 +
  scripts/pw_migrate.sh |  5 +
  scripts/pw_runwebserver.sh| 12 ++
  7 files changed, 129 insertions(+)
  create mode 100644 Dockerfile.pw
  create mode 100644 README.pw
  create mode 100644 requirements.txt
  create mode 100755 scripts/pw_createsuperuser.sh
  create mode 100755 scripts/pw_getmail.sh
  create mode 100755 scripts/pw_migrate.sh
  create mode 100755 scripts/pw_runwebserver.sh

diff --git a/Dockerfile.pw b/Dockerfile.pw
new file mode 100644
index 000..ae3c1ee
--- /dev/null
+++ b/Dockerfile.pw
@@ -0,0 +1,52 @@
+FROM ubuntu:latest
+MAINTAINER owner 
+
+EXPOSE 8080
+
+ENV PYTHONUNBUFFERED=1 \
+LANG=en_US.UTF-8 \
+LC_ALL=en_US.UTF-8 \
+LC_CTYPE=en_US.UTF-8 \
+PATH="$PATH:/opt/patchwork/git-pw:/opt/patchtest:/opt/patchtest/scripts"
+
+RUN  apt-get update \
+&& apt-get dist-upgrade -y \
+&& apt-get install -y --no-install-recommends \
+autoconf \
+gcc \
+g++ \
+make \
+locales \
+wget \
+curl \
+cron \
+python-pip \
+python-dev \
+python-setuptools \
+python3-pip \
+python3-dev \
+libmysqlclient-dev \
+git-core \
+getmail4 \
+&& sh -c "echo \"en_US.UTF-8 UTF-8\" >> /etc/locale.gen" \
+&& locale-gen en_US.UTF-8 \
+&& update-locale \
+&& pip2 install wheel \
+&& pip3 install wheel \
+&& pip3 install setuptools \
+&& apt-get autoremove --purge -y \
+&& rm -rf /var/lib/apt/lists/* \
+&& apt-get clean
+ADD ./patchwork /opt/patchwork
+ADD ./patchtest /opt/patchtest
+ADD ./patchtest-oe /opt/patchtest-oe
+ADD ./getmailrc /opt/getmail/getmailrc
+RUN  pip2 install -r /opt/patchwork/requirements.txt \
+&& pip3 install -r /opt/patchtest/requirements.txt \
+&& pip3 install  -r /opt/patchtest-oe/requirements.txt \
+&& mkdir -p /opt/getmail \
+&& mkdir -p /opt/pw-logs \
+&& git config --global user.email "patcht...@patchtest.com" \
+&& git config --global user.name "patchtest" \
+&& /opt/patchtest/scripts/create-host-test-folder -t /opt/pw-test \
+&& /opt/patchtest/scripts/create-host-crontab -c /opt/pw-test-cron
diff --git a/README.pw b/README.pw
new file mode 100644
index 000..ffa7af1
--- /dev/null
+++ b/README.pw
@@ -0,0 +1,32 @@
+* Dockerfile.pw deploy patchwork, patchtest, patchtest-oe in docker
+
+* Dockerfile.pw is just an example, you can adjust according to your
+  deploy condition, like not use getmail, but use postfix.
+
+* requirements.txt,  just for refer, you can also rewrite this
+  according to patchwork'doc and accoridng to your deploy condition.
+
+* scripts folder hold the files will be used during deploy with docker.
+
+* Deploy steps:
+
+1. Clone patchwork, patchtest, patchtest-oe first, also put getmailrc used by
+   Dockerfile.pw under the same folder.
+
+2. Build docker image with Dockerfile.pw
+$docker build -t pw -f ./patchwork/Dockerfile.pw .
+
+3. use mariadb as dataserver:
+$ docker pull mariadb
+$ docker run -d --name pw-db -e MYSQL_ROOT_PASSWORD=123456 -e 
MYSQL_DATABASE=pwdb -v /pw/pwdb:/var/lib/mysql mariadb
+
+5. run web server
+docker run -d --name pw-web --link pw-db:pw-db -p 8080:8080 pw 
"/opt/patchwork/scripts/pw_runwebserver.sh"
+
+6. config pw
+docker exec -it pw-web /opt/patchwork/scripts/pw_migrate.sh
+docker exec -it pw-web /opt/patchwork/scripts/pw_createsuperuser.sh
+
+7. run patchwork
+docker run -d --name pw-mail --link pw-db:pw-db pw 
"/opt/patchwork/scripts/pw_getmail.sh"
+
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 000..b8f68f2
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,12 @@
+django==1.8.0
+sqlparse==0.2.4
+celery==3.1.20
+django_filter==0.11.0
+djangorestframework==2.4.8
+drf-nested-routers==0.11.1
+psycopg2>=2.7,<2.8
+mysqlclient
+jsonfield
+enum34
+GitPython
+requests
diff --git a/scripts/pw_createsuperuser.sh b/scripts/pw_createsuperuser.sh
new file mode 100755
index 000..324ce72
--- /dev/null
+++ b/scripts/pw_createsuperuser.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+pw_dir='/opt/patchwork'
+
+(cd $pw_dir; ./manage.py createsuperuser)
diff --git a/scripts/pw_getmail.sh b/scripts/pw_getmail.sh
new file mode 100755
index 000..fadf7c9
--- /dev/null
+++ b/scripts/pw_getmail.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+s

[yocto] [PATCH V2] patchwork: Add a dockerfile for deploy patchwork and patchtest

2019-01-15 Thread changqing.li
From: Changqing Li 

Add a dockerfile for easy deploy patchwork and patchtest in
docker

Signed-off-by: Changqing Li 
---
 Dockerfile.pw | 52 +++
 README.pw | 32 ++
 requirements.txt  | 12 ++
 scripts/pw_createsuperuser.sh |  5 +
 scripts/pw_getmail.sh | 11 +
 scripts/pw_migrate.sh |  5 +
 scripts/pw_runwebserver.sh| 12 ++
 7 files changed, 129 insertions(+)
 create mode 100644 Dockerfile.pw
 create mode 100644 README.pw
 create mode 100644 requirements.txt
 create mode 100755 scripts/pw_createsuperuser.sh
 create mode 100755 scripts/pw_getmail.sh
 create mode 100755 scripts/pw_migrate.sh
 create mode 100755 scripts/pw_runwebserver.sh

diff --git a/Dockerfile.pw b/Dockerfile.pw
new file mode 100644
index 000..ae3c1ee
--- /dev/null
+++ b/Dockerfile.pw
@@ -0,0 +1,52 @@
+FROM ubuntu:latest
+MAINTAINER owner 
+
+EXPOSE 8080
+
+ENV PYTHONUNBUFFERED=1 \
+LANG=en_US.UTF-8 \
+LC_ALL=en_US.UTF-8 \
+LC_CTYPE=en_US.UTF-8 \
+PATH="$PATH:/opt/patchwork/git-pw:/opt/patchtest:/opt/patchtest/scripts"
+
+RUN  apt-get update \
+&& apt-get dist-upgrade -y \
+&& apt-get install -y --no-install-recommends \
+autoconf \
+gcc \
+g++ \
+make \
+locales \
+wget \
+curl \
+cron \
+python-pip \
+python-dev \
+python-setuptools \
+python3-pip \
+python3-dev \
+libmysqlclient-dev \
+git-core \
+getmail4 \
+&& sh -c "echo \"en_US.UTF-8 UTF-8\" >> /etc/locale.gen" \
+&& locale-gen en_US.UTF-8 \
+&& update-locale \
+&& pip2 install wheel \
+&& pip3 install wheel \
+&& pip3 install setuptools \
+&& apt-get autoremove --purge -y \
+&& rm -rf /var/lib/apt/lists/* \
+&& apt-get clean
+ADD ./patchwork /opt/patchwork
+ADD ./patchtest /opt/patchtest
+ADD ./patchtest-oe /opt/patchtest-oe
+ADD ./getmailrc /opt/getmail/getmailrc
+RUN  pip2 install -r /opt/patchwork/requirements.txt \ 
+&& pip3 install -r /opt/patchtest/requirements.txt \
+&& pip3 install  -r /opt/patchtest-oe/requirements.txt \
+&& mkdir -p /opt/getmail \
+&& mkdir -p /opt/pw-logs \
+&& git config --global user.email "patcht...@patchtest.com" \
+&& git config --global user.name "patchtest" \
+&& /opt/patchtest/scripts/create-host-test-folder -t /opt/pw-test \
+&& /opt/patchtest/scripts/create-host-crontab -c /opt/pw-test-cron 
diff --git a/README.pw b/README.pw
new file mode 100644
index 000..ffa7af1
--- /dev/null
+++ b/README.pw
@@ -0,0 +1,32 @@
+* Dockerfile.pw deploy patchwork, patchtest, patchtest-oe in docker
+
+* Dockerfile.pw is just an example, you can adjust according to your
+  deploy condition, like not use getmail, but use postfix.
+
+* requirements.txt,  just for refer, you can also rewrite this 
+  according to patchwork'doc and accoridng to your deploy condition.
+
+* scripts folder hold the files will be used during deploy with docker.
+
+* Deploy steps:
+
+1. Clone patchwork, patchtest, patchtest-oe first, also put getmailrc used by
+   Dockerfile.pw under the same folder.
+
+2. Build docker image with Dockerfile.pw
+$docker build -t pw -f ./patchwork/Dockerfile.pw .
+
+3. use mariadb as dataserver:
+$ docker pull mariadb
+$ docker run -d --name pw-db -e MYSQL_ROOT_PASSWORD=123456 -e 
MYSQL_DATABASE=pwdb -v /pw/pwdb:/var/lib/mysql mariadb
+
+5. run web server
+docker run -d --name pw-web --link pw-db:pw-db -p 8080:8080 pw 
"/opt/patchwork/scripts/pw_runwebserver.sh"
+
+6. config pw
+docker exec -it pw-web /opt/patchwork/scripts/pw_migrate.sh
+docker exec -it pw-web /opt/patchwork/scripts/pw_createsuperuser.sh
+
+7. run patchwork
+docker run -d --name pw-mail --link pw-db:pw-db pw 
"/opt/patchwork/scripts/pw_getmail.sh"
+
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 000..b8f68f2
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,12 @@
+django==1.8.0
+sqlparse==0.2.4
+celery==3.1.20
+django_filter==0.11.0
+djangorestframework==2.4.8
+drf-nested-routers==0.11.1
+psycopg2>=2.7,<2.8
+mysqlclient
+jsonfield
+enum34
+GitPython
+requests
diff --git a/scripts/pw_createsuperuser.sh b/scripts/pw_createsuperuser.sh
new file mode 100755
index 000..324ce72
--- /dev/null
+++ b/scripts/pw_createsuperuser.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+pw_dir='/opt/patchwork'
+
+(cd $pw_dir; ./manage.py createsuperuser)
diff --git a/scripts/pw_getmail.sh b/scripts/pw_getmail.sh
new file mode 100755
index 000..fadf7c9
--- /dev/null
+++ b/scripts/pw_getmail.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+sudo /etc/init.d/cron start
+echo "*/5 * * * * sudo getmail --getmaildir=/opt/getmail/ --idle INBOX >> 
/opt/pw-test-cron/getmail.log 2>&1" > /opt/pw-test-cron/cron-getmail
+sudo crontab -u wrlbuild  /opt/pw-test-cron/cron-getmail
+
+while 

[yocto] [PATCH V2] patchwork: Add a dockerfile for deploy patchwork and patchtest

2019-01-15 Thread changqing.li
change in v2:
run getmail in crontab


Changqing Li (1):
  patchwork: Add a dockerfile for deploy patchwork and patchtest

 Dockerfile.pw | 52 +++
 README.pw | 32 ++
 requirements.txt  | 12 ++
 scripts/pw_createsuperuser.sh |  5 +
 scripts/pw_getmail.sh | 11 +
 scripts/pw_migrate.sh |  5 +
 scripts/pw_runwebserver.sh| 12 ++
 7 files changed, 129 insertions(+)
 create mode 100644 Dockerfile.pw
 create mode 100644 README.pw
 create mode 100644 requirements.txt
 create mode 100755 scripts/pw_createsuperuser.sh
 create mode 100755 scripts/pw_getmail.sh
 create mode 100755 scripts/pw_migrate.sh
 create mode 100755 scripts/pw_runwebserver.sh

-- 
2.7.4

-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto