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 <changqing...@windriver.com>
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 <changqing...@windriver.com>
---
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 0000000..ae3c1ee
--- /dev/null
+++ b/Dockerfile.pw
@@ -0,0 +1,52 @@
+FROM ubuntu:latest
+MAINTAINER owner <o...@mail.com>
+
+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 0000000..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 0000000..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 0000000..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 0000000..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 true
+do
+ :
+done
+
diff --git a/scripts/pw_migrate.sh b/scripts/pw_migrate.sh
new file mode 100755
index 0000000..e54b2f4
--- /dev/null
+++ b/scripts/pw_migrate.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+pw_dir="/opt/patchwork"
+
+(cd $pw_dir; ./manage.py migrate; ./manage.py collectstatic;
./manage.py loaddata default_tags default_states default_events)
diff --git a/scripts/pw_runwebserver.sh
b/scripts/pw_runwebserver.sh
new file mode 100755
index 0000000..4233b1a
--- /dev/null
+++ b/scripts/pw_runwebserver.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+export LANG="en_US.UTF-8"
+export LC_ALL="en_US.UTF-8"
+
+#open crontab to do test
+/etc/init.d/cron start
+crontab -u pwtest /opt/pw-test-cron/crontab
+
+pw_dir="/opt/patchwork"
+
+(cd $pw_dir; ./manage.py runserver 0.0.0.0:8080)
--
BRs
Sandy(Li Changqing)
--
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto