Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
service:gitlab [31.05.2024 09:39] – [Gitlab] viacheslav | service:gitlab [15.01.2025 13:46] (текущий) – [Deploy] viacheslav |
---|
Learn GitLab with tutorials: https://docs.gitlab.com/ee/tutorials/\\ | Learn GitLab with tutorials: https://docs.gitlab.com/ee/tutorials/\\ |
GitLab with Git Essentials - Hands-On Lab: [[https://handbook.gitlab.com/handbook/customer-success/professional-services-engineering/education-services/gitbasicshandsonlab3/|Use GitLab To Merge Code]]\\ | GitLab with Git Essentials - Hands-On Lab: [[https://handbook.gitlab.com/handbook/customer-success/professional-services-engineering/education-services/gitbasicshandsonlab3/|Use GitLab To Merge Code]]\\ |
Shifting Security Left - GitLab DevSecOps Overview: https://www.youtube.com/watch?v=XnYstHObqlA\\ | |
| |
Удобен тем, что содержит всё необходимое, не нужно использовать кучу различных сервисов: | Удобен тем, что содержит всё необходимое, не нужно использовать кучу различных сервисов: |
- ./scriptfile.sh | - ./scriptfile.sh |
</code> | </code> |
Если скрипт что-то создал в каталоге, то можно это не удалять, т. к. пайплайн запускается каждый раз по новой и не использует старого окружения. | Если скрипт что-то создал в каталоге на раннере, то можно это не удалять, т. к. пайплайн запускается каждый раз по новой и не использует старого окружения. |
| |
==== only/except ==== | ==== only/except ==== |
| |
==== Использование в Dockerfile образов из локального реестра образов ==== | ==== Использование в Dockerfile образов из локального реестра образов ==== |
В пайплайне нужно добавить ''--build-arg CI_REGISTRY_IMAGE=${CI_REGISTRY_IMAGE}'' в команду сборки. | В пайплайне нужно добавить ''%%--build-arg CI_REGISTRY_IMAGE=${CI_REGISTRY_IMAGE}%%'' в команду сборки. |
| |
<code yaml> | <code yaml> |
{{:service:pasted:20230530-081539.png}} | {{:service:pasted:20230530-081539.png}} |
| |
Почистить кэш можно кнопкой "Clear runner caches" в CI/CD -> Pipelines. "Почистить" в этом случае значит просто не использовать кэшв следующих запусках пайплайна, физически кэш не удаляется. [[https://docs.gitlab.com/ee/ci/caching/#where-the-caches-are-stored|Где хранится кэш]]? | Почистить кэш можно кнопкой "Clear runner caches" в CI/CD -> Pipelines. "Почистить" в этом случае значит просто не использовать кэш в следующих запусках пайплайна, физически кэш не удаляется. [[https://docs.gitlab.com/ee/ci/caching/#where-the-caches-are-stored|Где хранится кэш]]? |
| |
[[https://docs.gitlab.com/ee/ci/caching/|Справка по кэшу]] | [[https://docs.gitlab.com/ee/ci/caching/|Справка по кэшу]] |
</code> | </code> |
| |
Вышеприведённый вариант с Докером неудобен, т. к. контейнер не заменяется, и при повторном запуске пайпдайна будет ошибка, т. к. порт занят. Эту проблему решает docker-compose. | Вышеприведённый вариант с Докером неудобен, т. к. контейнер не заменяется, и при повторном запуске пайплайна будет ошибка, т. к. порт занят. Эту проблему решает docker-compose. |
<code yaml> | <code yaml> |
deploy_to_dev: | deploy_to_dev: |
</code> | </code> |
Решение: не раннере удалить всё в каталоге ''/home/gitlab-runner''. | Решение: не раннере удалить всё в каталоге ''/home/gitlab-runner''. |
| ===== Безопасность ===== |
| Shifting Security Left - GitLab DevSecOps Overview: https://www.youtube.com/watch?v=XnYstHObqlA\\ |
| |
| Гитлаб предлагает сканеры безопасности: |
| * [[https://docs.gitlab.com/ee/user/application_security/sast/|Static Application Security Testing]] (SAST) - обнаружение проблем в самом исходном коде, например, пользовательский ввод позволяет выполнить инъекцию команды. [[https://www.youtube.com/watch?v=8sOjvlkl8QY|Демо]] |
| * [[https://docs.gitlab.com/ee/user/application_security/secret_detection/|Secret Detection]] - обнаружение вбитых паролей в исходном коде. [[https://www.youtube.com/watch?v=W2tjcQreDwQ|Демо]] |
| * [[https://docs.gitlab.com/ee/user/application_security/dast/|Dynamic Application Security Testing]] (DAST) - сканирование на уязвимости через вызов приложения или API. [[https://www.youtube.com/watch?v=ywme200L7LU|Демо]] |
| * [[https://docs.gitlab.com/ee/user/application_security/iac_scanning/|Infrastructure-as-Code (IaC) Scanning]] - сканирование IaC-файлов (Ansible, Terraform) на уязвимости. |
| * [[https://docs.gitlab.com/ee/user/application_security/dependency_scanning/|Dependency Scanning]] - отчёт по уязвимостям зависимостей проекта по их версиям. [[https://www.youtube.com/watch?v=39RvTMLDszc|Демо]] |
| * [[https://docs.gitlab.com/ee/user/application_security/container_scanning/|Container Scanning]] - сканирование докер-образов на уязвимости. [[https://www.youtube.com/watch?v=C0jn2eN5MAs|Демо]] |
| * [[https://docs.gitlab.com/ee/user/application_security/api_fuzzing/|Fuzz Testing]] - шлёт на вход функций всякую ерунду на предмет неожиданных глюков. [[https://www.youtube.com/watch?v=oUHsfvLGhDk|Демо]] |
| |
| Отчёты / управление: |
| * [[https://docs.gitlab.com/ee/user/application_security/security_dashboard/|Security Reports]] - сводный отчёт по уязвимостям. [[https://www.youtube.com/watch?v=QHQHN4luNpc|Демо]] |
| * [[https://docs.gitlab.com/ee/user/application_security/vulnerability_report/|Vulnerability Management]] [[https://www.youtube.com/watch?v=8SJHz6BCgXM|Демо]] |
| * [[https://docs.gitlab.com/ee/user/application_security/policies/|Policies]] [[https://www.youtube.com/watch?v=IZbCIKXz-wM|Демо]] |
| |
| |
===== Прочее ===== | ===== Прочее ===== |
| |
| |
==== Тестовый проект Gitlab from zero to hero ==== | ==== Тестовый проект Gitlab from zero to hero ==== |
https://gitlab.com/nanuchi/mynodeapp-cicd-project | https://gitlab.com/nanuchi/mynodeapp-cicd-project |