diff --git a/.gitlab-ci-template.yml b/.gitlab-ci-template.yml index ca6901886b1105d579eb28e1d92031254e13ec37..3ed3db402622e54b979e6804f783f41ec1b221fd 100644 --- a/.gitlab-ci-template.yml +++ b/.gitlab-ci-template.yml @@ -2,29 +2,50 @@ stages: - build - deploy -build-docker-image: - stage: build - script: +.default_settings_docker: &default_settings_docker + before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - - docker build --pull -t "$CI_REGISTRY_IMAGE" . - - docker push "$CI_REGISTRY_IMAGE" only: - master - chat except: - schedules + +.default_settings_cron: &default_settings_cron + stage: deploy + tags: + - ansible + variables: + GIT_STRATEGY: none + only: + refs: + - chat + - schedules + variables: + - $ANSIBLE_JOB_NAME + - $ANSIBLE_EXTRA_ARGS -update-docker-image: +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 tags: - ansible-update variables: GIT_STRATEGY: none script: - - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - docker pull "$CI_REGISTRY_IMAGE" - only: - - master - - chat + +RenewLetsEncrypt: + <<: *default_settings_cron + script: + - ascr role letsencrypt --tags=renew ${CHAT_INPUT} ${ANSIBLE_EXTRA_ARGS} except: - - schedules + variables: + - $ANSIBLE_JOB_NAME != "RenewLetsEncrypt"