Skip to content
Snippets Groups Projects
.gitlab-ci-template.yml 3.84 KiB
Newer Older
  • Learn to ignore specific revisions
  • .default_settings_docker: &default_settings_docker
    
      tags:
        - ansible-update
    
      before_script:
    
        - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
    
    .default_settings_cron: &default_settings_cron
      stage: deploy
      tags:
        - ansible
      variables:
        GIT_STRATEGY: none
      only:
    
        - chat
        - schedules
    
    help:
      <<: *default_settings_cron
      script:
    
        - echo -e "section_start:$( date +%s ):chat_reply\r\033[0K\n"
        - echo -e "Hallo world"
        - echo -e "\nsection_end:$( date +%s ):chat_reply\r\033[0K"
    
      except:
        variables:
          - $ANSIBLE_JOB_NAME && $ANSIBLE_JOB_NAME != "help"
    
    
    BuildDockerImage:
      <<: *default_settings_docker
      stage: build
      script:
        - docker build --pull -t "$CI_REGISTRY_IMAGE" .
        - docker push "$CI_REGISTRY_IMAGE"
    
    UpdateDockerImage:
      <<: *default_settings_docker
    
      stage: deploy
      variables:
        GIT_STRATEGY: none
      script:
        - docker pull "$CI_REGISTRY_IMAGE"
    
    Ansible:
      <<: *default_settings_cron
      script:
        - ascr ${CHAT_INPUT} ${ANSIBLE_EXTRA_ARGS}
      except:
        variables:
          - $ANSIBLE_JOB_NAME && $ANSIBLE_JOB_NAME != "Ansible"
    
    
    RenewLetsEncrypt:
      <<: *default_settings_cron
      script:
    
        - ascr letsencrypt ${CHAT_INPUT} ${ANSIBLE_EXTRA_ARGS}
    
      except:
        variables:
          - $ANSIBLE_JOB_NAME && $ANSIBLE_JOB_NAME != "RenewLetsEncrypt"
    
    UpdateNextcloudPlugins:
      <<: *default_settings_cron
      script:
        - ascr nextcloud-plugins ${CHAT_INPUT} ${ANSIBLE_EXTRA_ARGS}
      except:
        variables:
          - $ANSIBLE_JOB_NAME && $ANSIBLE_JOB_NAME != "UpdateNextcloudPlugins"
    
    
    UpdateHomeAssistant:
      <<: *default_settings_cron
      script:
    
        - ascr home-assistant ${CHAT_INPUT} ${ANSIBLE_EXTRA_ARGS}
    
      except:
        variables:
          - $ANSIBLE_JOB_NAME && $ANSIBLE_JOB_NAME != "UpdateHomeAssistant"
    
    UpdateCollabora:
      <<: *default_settings_cron
      script:
    
        - ascr collabora ${CHAT_INPUT} ${ANSIBLE_EXTRA_ARGS}
    
      except:
        variables:
          - $ANSIBLE_JOB_NAME && $ANSIBLE_JOB_NAME != "UpdateCollabora"
    
    
    jurgenhaas's avatar
    jurgenhaas committed
    UpdateKeycloak:
      <<: *default_settings_cron
      script:
    
        - ascr keycloak ${CHAT_INPUT} ${ANSIBLE_EXTRA_ARGS}
    
    jurgenhaas's avatar
    jurgenhaas committed
      except:
        variables:
          - $ANSIBLE_JOB_NAME && $ANSIBLE_JOB_NAME != "UpdateKeycloak"
    
    
    UpdateMatterbridge:
      <<: *default_settings_cron
      script:
    
        - ascr matterbridge  ${CHAT_INPUT} ${ANSIBLE_EXTRA_ARGS}
    
      except:
        variables:
          - $ANSIBLE_JOB_NAME && $ANSIBLE_JOB_NAME != "UpdateMatterbridge"
    
    UpdateAlerta:
      <<: *default_settings_cron
      script:
        - ascr alerta ${CHAT_INPUT} ${ANSIBLE_EXTRA_ARGS}
      except:
        variables:
          - $ANSIBLE_JOB_NAME && $ANSIBLE_JOB_NAME != "UpdateAlerta"
    
    SanityCheck:
      <<: *default_settings_cron
      script:
        - ascr sanity check ${CHAT_INPUT} ${ANSIBLE_EXTRA_ARGS}
      except:
        variables:
          - $ANSIBLE_JOB_NAME && $ANSIBLE_JOB_NAME != "SanityCheck"
    
    SanityList:
      <<: *default_settings_cron
      script:
        - ascr sanity list ${CHAT_INPUT} ${ANSIBLE_EXTRA_ARGS}
      except:
        variables:
          - $ANSIBLE_JOB_NAME && $ANSIBLE_JOB_NAME != "SanityList"
    
    SanityUpgrade:
      <<: *default_settings_cron
      script:
        - ascr sanity upgrade ${CHAT_INPUT} ${ANSIBLE_EXTRA_ARGS}
      except:
        variables:
          - $ANSIBLE_JOB_NAME && $ANSIBLE_JOB_NAME != "SanityUpgrade"
    
    SanityReboot:
      <<: *default_settings_cron
      script:
        - ascr sanity reboot ${CHAT_INPUT} ${ANSIBLE_EXTRA_ARGS}
      except:
        variables:
          - $ANSIBLE_JOB_NAME && $ANSIBLE_JOB_NAME != "SanityReboot"
    
    JailkitUpgrade:
      <<: *default_settings_cron
      script:
        - ascr jailkit-upgrade ${CHAT_INPUT} ${ANSIBLE_EXTRA_ARGS}
      except:
        variables:
          - $ANSIBLE_JOB_NAME && $ANSIBLE_JOB_NAME != "JailkitUpgrade"
    
    
    MdstatRepair:
      <<: *default_settings_cron
      script:
        - ascr mdstat ${CHAT_INPUT} ${ANSIBLE_EXTRA_ARGS}
    
      timeout: 5 hours
    
      except:
        variables:
          - $ANSIBLE_JOB_NAME && $ANSIBLE_JOB_NAME != "MdstatRepair"