You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by wo...@apache.org on 2017/07/14 05:38:07 UTC

[couchdb] branch jenkins-build-packages updated: Build Debian/RHEL repos and rsync them to couchdb-vm2

This is an automated email from the ASF dual-hosted git repository.

wohali pushed a commit to branch jenkins-build-packages
in repository https://gitbox.apache.org/repos/asf/couchdb.git


The following commit(s) were added to refs/heads/jenkins-build-packages by this push:
     new d3d118a  Build Debian/RHEL repos and rsync them to couchdb-vm2
d3d118a is described below

commit d3d118a09b846039c47d9e0b4b4e9ed2cee39d75
Author: Joan Touzet <jo...@atypical.net>
AuthorDate: Fri Jul 14 01:37:51 2017 -0400

    Build Debian/RHEL repos and rsync them to couchdb-vm2
---
 Jenkinsfile | 53 +++++++++++++++++++++++++++++++++++++++--------------
 1 file changed, 39 insertions(+), 14 deletions(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index 2c26bbc..0b161b7 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -53,10 +53,8 @@ pipeline {
        https://issues.jenkins-ci.org/browse/JENKINS-41334 */
     /* The builddir stuff is to prevent all 10 builds from live syncing
        their build results to each other during the build. Moving the
-       build outside of the workdir should speed up the build process too,
-       though it does mean we pollute /tmp whenever a build fails. */
+       build outside of the workdir should speed up the build process, too */
     /* Build packages on supported platforms using esl's erlang */
-/* SPEED RUN
     stage('Test') {
       steps {
         parallel(centos6erlang183: {
@@ -395,7 +393,6 @@ pipeline {
         ) // parallel
       } // steps
     } // stage
-END SPEED RUN */
 
     stage('Publish') {
       when {
@@ -410,16 +407,44 @@ END SPEED RUN */
         }
       }
       steps {
-        unstash 'tarball'
-        echo 'rsyncing tarballs from couchdb-vm2...'
-        echo 'Keeping only last 10 tarballs...'
-        echo 'rsyncing tarballs to couchdb-vm2...'
-        echo 'Building Debian repo...'
-        echo 'Building CentOS repo...'
-        echo 'rsyncing repos to couchdb-vm2...'
-        echo 'Cleaning workspace...'
-        deleteDir()
-      }
+        ws {
+          withCredentials([file(credentialsId: 'jenkins-id_rsa', variable: 'KEY')]) {
+            sh 'rm -rf pkgs'
+            unarchive mapping: ['pkgs/' : '.']
+            echo 'Building Debian repo...'
+            sh '''
+              git clone https://github.com/apache/couchdb-pkg
+              reprepro -b couchdb-pkg/repo includedeb jessie pkgs/jessie/*deb
+              reprepro -b couchdb-pkg/repo includedeb trusty pkgs/trusty/*deb
+              reprepro -b couchdb-pkg/repo includedeb xenial pkgs/xenial/*deb
+            '''
+            echo 'Building CentOS repos...'
+            sh '''
+              cd pkgs/centos6 && createrepo --database .
+              cd ../centos7 && rm js* && createrepo --database .
+            '''
+            echo 'rsyncing repos to couchdb-vm2...'
+            sh '''
+              mkdir -p $BRANCH_NAME/debian $BRANCH_NAME/el6 $BRANCH_NAME/el7
+              mv couchdb-pkg/repo/pool $BRANCH_NAME/debian
+              mv couchdb-pkg/repo/dists $BRANCH_NAME/debian
+              mv pkgs/centos6/* $BRANCH_NAME/el6
+              mv pkgs/centos7/* $BRANCH_NAME/el7
+              rsync -avz --delete -e "ssh -i $KEY" $BRANCH_NAME username@couchdb-vm2.apache.org:/var/www/html
+            '''
+            /* cronjob on couchdb-vm2 cleans up old tarballs (keeps latest 10) */
+            echo 'rsyncing source tarball to couchdb-vm2...'
+            unstash 'tarball'
+            sh '''
+              rm -rf $BRANCH_NAME
+              mkdir -p $BRANCH_NAME/source
+              mv apache-couchdb-*.tar.gz $BRANCH_NAME/source
+              rsync -avz -e "ssh -i $KEY" $BRANCH_NAME username@couchdb-vm2.apache.org:/var/www/html
+            '''
+            deleteDir()
+          } // withCredentials
+        } // ws
+      } // steps
     } // stage
   } // stages
 

-- 
To stop receiving notification emails like this one, please contact
['"commits@couchdb.apache.org" <co...@couchdb.apache.org>'].