Message ID | 20210119144032.305380-1-pbonzini@redhat.com |
---|---|
State | New |
Headers | show |
Series | [v2] deploy docs to qemu-project.org from GitLab CI | expand |
On Tue, Jan 19, 2021 at 03:40:32PM +0100, Paolo Bonzini wrote: > Currently, the website is rebuilt on qemu-project.org using > a separate container (https://github.com/stefanha/qemu-docs/) > cron job hook. We can instead reuse the GitLab's CI artifacts. > > To do so, we use the same mechanism that is already in place for > qemu-web.git. > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > --- > v1->v2: use same image and before_script as qemu-web.git > > .gitlab-ci.yml | 24 ++++++++++++++++++++++++ > 1 file changed, 24 insertions(+) > > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml > index fd0162ad29..d9afc79b30 100644 > --- a/.gitlab-ci.yml > +++ b/.gitlab-ci.yml > @@ -6,6 +6,7 @@ stages: > - containers-layer2 > - build > - test > + - update > > include: > - local: '/.gitlab-ci.d/edk2.yml' > @@ -627,3 +628,26 @@ pages: > artifacts: > paths: > - public > + > +deploy: > + image: centos:8 > + stage: update > + needs: > + - job: pages > + artifacts: true > + before_script: > + - dnf install -y openssh-clients rsync > + - eval $(ssh-agent -s) > + - cat "$SSH_PRIVATE_KEY_FILE" | tr -d '\r' | ssh-add - > + - mkdir -m700 -p ~/.ssh > + - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" >> ~/.ssh/config' > + script: > + - ssh $SSH_DEPLOY_DESTINATION "cd /var/www/qemu-project.org && mkdir new-docs && rsync -az docs/ new-docs" > + - rsync -avz --delete public/ $SSH_DEPLOY_DESTINATION:/var/www/qemu-project.org/new-docs > + - ssh $SSH_DEPLOY_DESTINATION "cd /var/www/qemu-project.org && rm -rf old-docs && mv docs old-docs && mv new-docs docs" > + only: > + refs: > + - master > + variables: > + - $SSH_PRIVATE_KEY_FILE > + - $SSH_DEPLOY_DESTINATION Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel
On 19/01/2021 15.40, Paolo Bonzini wrote: > Currently, the website is rebuilt on qemu-project.org using > a separate container (https://github.com/stefanha/qemu-docs/) > cron job hook. We can instead reuse the GitLab's CI artifacts. > > To do so, we use the same mechanism that is already in place for > qemu-web.git. > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > --- > v1->v2: use same image and before_script as qemu-web.git > > .gitlab-ci.yml | 24 ++++++++++++++++++++++++ > 1 file changed, 24 insertions(+) > > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml > index fd0162ad29..d9afc79b30 100644 > --- a/.gitlab-ci.yml > +++ b/.gitlab-ci.yml > @@ -6,6 +6,7 @@ stages: > - containers-layer2 > - build > - test > + - update Could you please also update the comment at the very top of the yml file? It currently says that there are only two stages after the container stage, but now you're adding a third one. Thanks, Thomas
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fd0162ad29..d9afc79b30 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,6 +6,7 @@ stages: - containers-layer2 - build - test + - update include: - local: '/.gitlab-ci.d/edk2.yml' @@ -627,3 +628,26 @@ pages: artifacts: paths: - public + +deploy: + image: centos:8 + stage: update + needs: + - job: pages + artifacts: true + before_script: + - dnf install -y openssh-clients rsync + - eval $(ssh-agent -s) + - cat "$SSH_PRIVATE_KEY_FILE" | tr -d '\r' | ssh-add - + - mkdir -m700 -p ~/.ssh + - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" >> ~/.ssh/config' + script: + - ssh $SSH_DEPLOY_DESTINATION "cd /var/www/qemu-project.org && mkdir new-docs && rsync -az docs/ new-docs" + - rsync -avz --delete public/ $SSH_DEPLOY_DESTINATION:/var/www/qemu-project.org/new-docs + - ssh $SSH_DEPLOY_DESTINATION "cd /var/www/qemu-project.org && rm -rf old-docs && mv docs old-docs && mv new-docs docs" + only: + refs: + - master + variables: + - $SSH_PRIVATE_KEY_FILE + - $SSH_DEPLOY_DESTINATION
Currently, the website is rebuilt on qemu-project.org using a separate container (https://github.com/stefanha/qemu-docs/) cron job hook. We can instead reuse the GitLab's CI artifacts. To do so, we use the same mechanism that is already in place for qemu-web.git. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- v1->v2: use same image and before_script as qemu-web.git .gitlab-ci.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+)