Commit 5387a1d2 authored by garciadeblas's avatar garciadeblas
Browse files

Update gitlabci.yml to use rsync for VNF catalog publication

parent cf6a03dd
Loading
Loading
Loading
Loading
Loading
+9 −15
Original line number Diff line number Diff line
@@ -88,31 +88,25 @@ publish-ondemand-repository:
  dependencies:
    - build-local-repository
  script:
    - apt update && apt install -y sshpass
    - apt update && apt install -y rsync sshpass
    - |
        set -e
        DESTINATION_FOLDER="${ONDEMAND_DESTINATION_FOLDER:-Stable}"
        DESTINATION_FOLDER="${ONDEMAND_DESTINATION_FOLDER:-rsynctest}"
        TEMP_FOLDER="${DESTINATION_FOLDER}-new"
        BACKUP_FOLDER="${DESTINATION_FOLDER}-old"
        
        echo "Uploading files to temporary folder $TEMP_FOLDER in FTP ..."
        sshpass -p "$VNF_CATALOG_CREDENTIALS" sftp -o "StrictHostKeyChecking no" -P $SFTP_PORT $SFTP_USER@$SFTP_SERVER << EOF
          mkdir $TEMP_FOLDER
          put -r vnf-catalog/* $TEMP_FOLDER
        EOF
        echo "Uploading files to temporary folder $TEMP_FOLDER via rsync ..."
        sshpass -p "$VNF_CATALOG_CREDENTIALS" rsync -avz --delete -e "ssh -o StrictHostKeyChecking=no" vnf-catalog/ $SFTP_USER@$SFTP_SERVER:$TEMP_FOLDER
        
        echo "Switching directories..."
        sshpass -p "$VNF_CATALOG_CREDENTIALS" sftp -o "StrictHostKeyChecking no" -P $SFTP_PORT $SFTP_USER@$SFTP_SERVER << EOF
          rename $DESTINATION_FOLDER $BACKUP_FOLDER
          rename $TEMP_FOLDER $DESTINATION_FOLDER
        sshpass -p "$VNF_CATALOG_CREDENTIALS" ssh -o "StrictHostKeyChecking no" -p $SFTP_USER@$SFTP_SERVER << EOF
          rm -rf $BACKUP_FOLDER
          mv $DESTINATION_FOLDER $BACKUP_FOLDER
          mv $TEMP_FOLDER $DESTINATION_FOLDER
        EOF
        
        echo "Cleaning up temporary folder $TEMP_FOLDER..."
        sshpass -p "$VNF_CATALOG_CREDENTIALS" sftp -o "StrictHostKeyChecking no" -P $SFTP_PORT $SFTP_USER@$SFTP_SERVER << EOF
          rmdir $TEMP_FOLDER
        EOF
  when: manual  # This job is run on demand
  allow_failure: true
  environment:
    name: production
    url: "ftp://$SFTP_SERVER/$DESTINATION_FOLDER"
    url: "rsync://$SFTP_SERVER/$DESTINATION_FOLDER"