All of lore.kernel.org
 help / color / mirror / Atom feed
From: Changqing Li <changqing.li@windriver.com>
To: Jose Lamego <jose.a.lamego@linux.intel.com>,
	Randy MacLeod <randy.macleod@windriver.com>,
	<yocto@yoctoproject.org>, <paul.eggleton@linux.intel.com>
Subject: Re: [PATCH V2] patchwork: Add a dockerfile for deploy patchwork and patchtest
Date: Mon, 11 Feb 2019 09:17:16 +0800	[thread overview]
Message-ID: <f4dfe26a-9c7e-b2eb-bb78-1541f99534fd@windriver.com> (raw)
In-Reply-To: <862ac49a0d926ceebe5860a8c0204eec4288dc79.camel@linux.intel.com>

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.li@windriver.com wrote:
>>> From: Changqing Li <changqing.li@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.li@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 <own@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 "patchtest@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)



  reply	other threads:[~2019-02-11  1:17 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-29  5:44 [pathchwork][PATCH] patchwork: Add a dockerfile for deploy patchwork and patchtest changqing.li
2019-01-16  5:37 ` [PATCH V2] " changqing.li
2019-01-16  5:37   ` changqing.li
2019-01-29  1:30     ` Randy MacLeod
2019-02-09 18:43       ` Jose Lamego
2019-02-11  1:17         ` Changqing Li [this message]
2019-02-11  1:36           ` Paul Eggleton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f4dfe26a-9c7e-b2eb-bb78-1541f99534fd@windriver.com \
    --to=changqing.li@windriver.com \
    --cc=jose.a.lamego@linux.intel.com \
    --cc=paul.eggleton@linux.intel.com \
    --cc=randy.macleod@windriver.com \
    --cc=yocto@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.