-------------------------- * CI: - added new verify_deployment stage to check ssl deployment and nginx configs
103 lines
2.5 KiB
YAML
103 lines
2.5 KiB
YAML
# CI Mark that build is executed in CI environment
|
|
# GITLAB_CI Mark that build is executed in GitLab CI environment
|
|
# CI_SERVER Mark that build is executed in CI environment
|
|
# CI_SERVER_NAME CI server that is used to coordinate builds
|
|
# CI_SERVER_VERSION Not yet defined
|
|
# CI_SERVER_REVISION Not yet defined
|
|
# CI_BUILD_REF The commit revision for which project is built
|
|
# CI_BUILD_BEFORE_SHA The first commit that were included in push request
|
|
# CI_BUILD_REF_NAME The branch or tag name for which project is built
|
|
# CI_BUILD_ID The unique id of the current build that GitLab CI uses internally
|
|
# CI_BUILD_REPO The URL to clone the Git repository
|
|
# CI_PROJECT_ID The unique id of the current project that GitLab CI uses internally
|
|
# CI_PROJECT_DIR The full path where the repository is cloned and where the build is ran
|
|
|
|
|
|
variables:
|
|
ANSIBLE_ROLE: "zen_rev_proxy"
|
|
ANSIBLE_ROLE_PATH: "${CI_PROJECT_DIR}"
|
|
ANSIBLE_EXTRA_VARS: ""
|
|
|
|
|
|
stages:
|
|
- check_versions
|
|
- lint_playbook
|
|
- test_deploy
|
|
- verify_deployment
|
|
|
|
|
|
### BEGIN TEMPLATES ###
|
|
.tags_template: &tags_template
|
|
tags:
|
|
- zen-ci-deb-workstation
|
|
|
|
|
|
.zen_ci_deb_template: &zen_ci_deb_template
|
|
variables:
|
|
DOCKER_IMG_TAG: "latest"
|
|
|
|
|
|
.check_version_template: &check_version_template
|
|
<<: *tags_template
|
|
stage: check_versions
|
|
only:
|
|
- development
|
|
script:
|
|
- /bin/hostname
|
|
- "cd ${CI_PROJECT_DIR} && git log -1"
|
|
- "ansible --version"
|
|
- "ansible-lint --version"
|
|
|
|
|
|
.lint_playbook_template: &lint_playbook_template
|
|
<<: *tags_template
|
|
stage: lint_playbook
|
|
only:
|
|
- development
|
|
script:
|
|
- "ansible-lint -v ${ANSIBLE_ROLE_PATH}"
|
|
|
|
|
|
.test_deploy_template: &test_deploy_template
|
|
<<: *tags_template
|
|
stage: test_deploy
|
|
only:
|
|
- development
|
|
script:
|
|
- cp -av ${ANSIBLE_ROLE_PATH} /etc/ansible/roles/${ANSIBLE_ROLE}
|
|
- ansible-playbook -v --connection=local ${ANSIBLE_EXTRA_VARS} tests/test.yml
|
|
|
|
|
|
.verify_nginx_deployment: &verify_nginx_deployment
|
|
<<: *tags_template
|
|
stage: verify_deployment
|
|
only:
|
|
- development
|
|
script:
|
|
- /usr/bin/find /etc/nginx/conf.d
|
|
- /usr/bin/find /etc/nginx/ssl | /bin/grep -vi git
|
|
- /usr/sbin/nginx -c /etc/nginx/nginx.conf -t
|
|
### END TEMPLATES ###
|
|
|
|
|
|
### BEGIN JOBS ###
|
|
Check Versioning Info:
|
|
<<: *zen_ci_deb_template
|
|
<<: *check_version_template
|
|
|
|
|
|
Lint Playbook:
|
|
<<: *zen_ci_deb_template
|
|
<<: *lint_playbook_template
|
|
|
|
|
|
Test Deploy:
|
|
<<: *zen_ci_deb_template
|
|
<<: *test_deploy_template
|
|
|
|
|
|
Verify Deployment:
|
|
<<: *zen_ci_deb_template
|
|
<<: *verify_nginx_deployment
|
|
### END JOBS ###
|