Commit 422c4a2b authored by garciadeblas's avatar garciadeblas
Browse files

Update .gitlab-ci.yml to use rsync to upload vnf-catalog

parent 164234d7
Loading
Loading
Loading
Loading
Loading
+9 −41
Original line number Diff line number Diff line
@@ -5,9 +5,8 @@ variables:
  DEBIAN_FRONTEND: "noninteractive"
  LC_ALL: "C.UTF-8"
  LANG: "C.UTF-8"
  SFTP_SERVER: "vnf-catalog.etsi.org"
  SFTP_PORT: "29419"
  SFTP_USER: "osmsupport"
  RSYNC_SERVER: "vnf-catalog.etsi.org::rsyncosm/"
  RSYNC_USER: "osmsupport"
  ONDEMAND_DESTINATION_FOLDER: "Stable"

###############################################################################
@@ -40,9 +39,6 @@ build-local-repository:
  artifacts:
    paths:
      - vnf-catalog/
  # rules:
  #   - if: '$CI_COMMIT_REF_PROTECTED == "false"'
  #     when: on_success

###############################################################################
# Job to publish artifacts on successful merge (publication to Testing)
@@ -53,26 +49,14 @@ publish-testing-repository:
  stage: deploy
  dependencies:
    - build-local-repository  # Reuses artifacts generated in build los artefactos generados en build
    - create-rsync-password-file
  script:
    - apt update && apt install -y sshpass
    - |
        set -e
        echo "Uploading new files to temporary folder Testing-new..."
        sshpass -p "$VNF_CATALOG_CREDENTIALS" sftp -o "StrictHostKeyChecking no" -P $SFTP_PORT $SFTP_USER@$SFTP_SERVER << EOF
          mkdir Testing-new
          put -r vnf-catalog/* Testing-new
        EOF
        
        echo "Switching directories..."
        sshpass -p "$VNF_CATALOG_CREDENTIALS" sftp -o "StrictHostKeyChecking no" -P $SFTP_PORT $SFTP_USER@$SFTP_SERVER << EOF
          rename Testing Testing-old
          rename Testing-new Testing
        EOF
        echo "Uploading catalog to Rsync server / Testing ..."
        RSYNC_PASSWORD="$VNF_CATALOG_CREDENTIALS" rsync -avz --no-group vnf-catalog/ $RSYNC_USER@$RSYNC_SERVER/Testing
        
        echo "Cleaning up temporary folder Testing-new..."
        sshpass -p "$VNF_CATALOG_CREDENTIALS" sftp -o "StrictHostKeyChecking no" -P $SFTP_PORT $SFTP_USER@$SFTP_SERVER << EOF
          rmdir Testing-new
        EOF
  rules:
    - if: '$CI_COMMIT_REF_NAME == "master"' # Only in master
      when: on_success
@@ -92,27 +76,11 @@ publish-ondemand-repository:
    - |
        set -e
        DESTINATION_FOLDER="${ONDEMAND_DESTINATION_FOLDER:-Stable}"
        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 "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
        EOF
        echo "Uploading catalog to Rsync server / $DESTINATION_FOLDER ..."
        RSYNC_PASSWORD="$VNF_CATALOG_CREDENTIALS" rsync -avz --no-group vnf-catalog/ $RSYNC_USER@$RSYNC_SERVER/$DESTINATION_FOLDER

        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: "https://osm.etsi.org/vnf-catalog/$DESTINATION_FOLDER"