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 <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) > > > > -- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto