Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.95 KiB
Newer Older
  • Learn to ignore specific revisions
  • Torben Böhnke's avatar
    Torben Böhnke committed
    pages:
      stage: deploy
    
    Torben Böhnke's avatar
    Torben Böhnke committed
      before_script:
    
      -  eval $(ssh-agent -s)
      -  echo "${RUB_SSH_PRIVATE_KEY}" | tr -d '\r' | ssh-add -
    
    Torben Böhnke's avatar
    Torben Böhnke committed
      script:
    
    Torben Böhnke's avatar
    Torben Böhnke committed
      - rm -rf public/en/medien
    
    Torben Böhnke's avatar
    Torben Böhnke committed
      - cp -R slides public 
    
    Torben Böhnke's avatar
    Torben Böhnke committed
      - cp -R data public
    
    Torben Böhnke's avatar
    Torben Böhnke committed
      # Debugging SSH connection:
    
    Torben Böhnke's avatar
    Torben Böhnke committed
      # - echo "${RUB_SSH_PRIVATE_KEY}" > temporary_key
      # - chmod 600 temporary_key
      # - ssh -v -i temporary_key ${RUB_SSH_USER}@${RUB_SSH_HOST}
      # - rm -f temporary_key
    
    Torben Böhnke's avatar
    Torben Böhnke committed
      # Actual upload command: 
    
      - lftp -u ${RUB_SSH_USER}, -e "set sftp:connect-program 'ssh -a -x -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no'; mirror -R ${CI_PROJECT_DIR}/public/ ${RUB_TARGET_DIR}/; quit" sftp://${RUB_SSH_HOST}
    
    Torben Böhnke's avatar
    Torben Böhnke committed
      artifacts:
        paths:
        - public
      only:
      - main
      tags:
      - pages
    
    Torben Böhnke's avatar
    Torben Böhnke committed
    
    fetch_calendar:
      before_script:
        - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
        - eval $(ssh-agent -s)
        - echo "$GIT_SSH_PRIV_KEY" | tr -d '\r' | ssh-add - > /dev/null
        - mkdir -p ~/.ssh
        - chmod 700 ~/.ssh
    
    Torben Böhnke's avatar
    Torben Böhnke committed
        - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
        - export GIT_SSH_COMMAND="ssh -v -o StrictHostKeyChecking=no"
    
    Torben Böhnke's avatar
    Torben Böhnke committed
      script:
    
    Torben Böhnke's avatar
    Torben Böhnke committed
        - git init
        - git fetch origin
        - git checkout main
    
    Torben Böhnke's avatar
    Torben Böhnke committed
        - git remote set-url origin git@git.noc.ruhr-uni-bochum.de:makerspace/homepage.git
    
    Torben Böhnke's avatar
    Torben Böhnke committed
        - git pull --rebase origin main
    
    Torben Böhnke's avatar
    Torben Böhnke committed
        - mkdir -p docs/data
        - mkdir -p public/data
        - curl -o docs/data/calendar.ics https://mail.exchange.ruhr-uni-bochum.de/owa/calendar/c35486a95ce0458084511f72258a0ae2@it-services.ruhr-uni-bochum.de/ebd8081528364481b4fe87794a3e8776659663570677531713/calendar.ics
        - cp docs/data/calendar.ics public/data/
        - git config user.email "makerspace@ruhr-uni-bochum.de"
        - git config user.name "Makerspace-GitLab CI"
        - git add docs/data/calendar.ics public/data/calendar.ics
    
    Torben Böhnke's avatar
    Torben Böhnke committed
        - git commit -m "Update calendar" || echo "No changes to commit"
    
    Torben Böhnke's avatar
    Torben Böhnke committed
        - git push origin main
    
    Torben Böhnke's avatar
    Torben Böhnke committed
      only:
        - schedules
    
    Torben Böhnke's avatar
    Torben Böhnke committed
      tags:
    
    Torben Böhnke's avatar
    Torben Böhnke committed
        - pages