В начале мы пишем код программы (работаем над задачей)
Когда написали задачу мы делаем Commit в спеицальную ветку Git (
ветка разработки).
Эта ветка Git сделана для разработки программы т.е.
1) когда мы нажимаем Commit в
ветку разработки автоматически запускаются
модульные тесты и если тесты прошли
2) автоматически берется текущий код программы из
ветки разработки и копируется в
ветку qa (контроль качества)
3) из
ветки qa берется код
автоматически проходит процесс сборки приложения
автоматически развертывается приложение
приходит уведомление тестерам и они тестируют версию
после тестировщиков проходят атоматизированные тесты
Seleniub WebDriver
также все разработчики могут просматривать код и тестировать это обеспечивает совместную разработку
4) при прохождении
регрессионных тестов???? код из
ветки qa копируется в
ветку uat???
5) разворачивается приложение в
ветке uat и мы разрешаем доступ к
POs (владельцы продуктов Projects Owners), чтобы оценить, правильно функциональность была сделана, поскольку они были предусмотрены и переданы через
пользовательские истории (user story). При принятии посредством тестирования с выбранной группой пользователей истории, отмеченные как принятые, будут выпущены в
production при следующем развертывании.
разворачиваем приложение в среде, которая имитирует производственную среду и запускает тесты, чтобы подтвердить работоспособность программного обеспечения
запускаются нефункциональные тесты, такие как тестирование нагрузки и тестирование безопасности, чтобы подтвердить, что приложение будет безопасным
когда тесты пройдут
ветка uat копируется в ветку production и проходит процесс сборки приложения
GitLab Continuous Integration (GitLab CI/CD)
1) Install GitLab Runner
docs.gitlab.com/runner/install/
2) Configuring GitLab Runners
docs.gitlab.com/ee/ci/runners/README.html
3) Configuration of your jobs with .gitlab-ci.yml
docs.gitlab.com/ee/ci/yaml/README.html
4) Using GitLabCI with C#
stackoverflow.com/questions/33524766/using-gitlabci-with-c-sharp
Ссылка
linuxtrainingcenter.com/stati/chto-takoe-ci-cd-i-kak-ona-rabotaet/
и
linuxtrainingcenter.com/stati/vovlechennost-it-professiy-v-kazhdyiy-etap-ispolzovaniya-ci-cd/
Очень доступно описан процесс Непрерывной интеграции и доставки CI & CD и роли IT профессии в CI&CD при разработке программы. Может кому-то пригодится :)