Эта серия статей представляет собой сборник заметок, которые я собрал во время моего учебного курса по программированию в Green Fox Academy в прошлом году.
Другие статьи вы можете прочитать здесь:
- Конечные точки
- "Аутентификация"
- "Поток данных"
- Тестирование
- Базы данных
- "Рефакторинг"
- ООП
Git
Git — это наиболее широко используемая система контроля версий (VCS) в современном мире. VCS помогает команде разработчиков программного обеспечения управлять изменениями исходного кода с течением времени. Программное обеспечение для контроля версий отслеживает каждую модификацию кода в специальной базе данных.
Типичный рабочий процесс при использовании Git:
1. git pull
Сколь угодно много раз (но обычно очень мало раз):
1. Внесите локальные изменения
2. Изучите локальные изменения: git status и git diff.
3. git-коммит
4. git pull или git pull -r
5. git pull или git pull -r
6. git push
Конфликты слияния
Конфликты слияния возникают, когда конкурирующие изменения вносятся в одну и ту же строку файла или когда один человек редактирует файл, а другой удаляет тот же файл.
Чтобы разрешить конфликт слияния, вызванный конкурирующими изменениями строк, вы должны выбрать, какие изменения из разных ветвей включить в новую фиксацию.
Чтобы увидеть начало конфликта слияния в вашем файле, найдите в файле маркер конфликта ‹‹‹‹‹‹‹. Когда вы откроете файл в текстовом редакторе, вы увидите изменения из HEAD или базовой ветки после строки ‹‹‹‹‹‹‹ HEAD. Далее вы увидите =======, который отделяет ваши изменения от изменений в другой ветке, а затем ››››››› BRANCH-NAME.
Развертывание
Развертывание программного обеспечения — это все действия, которые делают программную систему доступной для использования.
Непрерывная интеграция/непрерывная доставка (CI/CD)
Непрерывная интеграция (CI) – это практика разработки программного обеспечения, при которой члены команды все чаще интегрируют свою работу. В соответствии с практикой CI команды стремятся проводить интеграцию как минимум ежедневно, а возможно, и несколько раз в день. Разработчики вносят небольшие частые изменения в общий репозиторий или «мастер». Они интегрируют изменения непрерывно, а не периодически.
Непрерывная поставка (CD) для упаковки и развертывания — это то же самое, что CI для создания и тестирования. Программное обеспечение создается, настраивается и упаковывается, а его развертывание организуется таким образом, чтобы его можно было запустить в производство программно-определяемым способом (низкая стоимость, высокий уровень автоматизации) в любое время.
Баш
Bash — это командный процессор, который обычно запускается в текстовом окне, где пользователь вводит команды, вызывающие действия. Bash также может читать и выполнять команды из файла, называемого сценарием оболочки. Как и все оболочки Unix, он поддерживает подстановку имен файлов (сопоставление подстановочных знаков), конвейерную передачу, здесь документы, подстановку команд, переменные и управляющие структуры для проверки условий и итераций.
Здание
DevOps использует цепочки инструментов, которые соответствуют одной или нескольким из следующих категорий:
1. Кодирование — разработка и проверка кода, инструменты управления исходным кодом, слияние кода.
2. Сборка — инструменты непрерывной интеграции, статус сборки
3. Тестирование — инструменты непрерывного тестирования, обеспечивающие обратную связь о бизнес-рисках.
4. Упаковка — репозиторий артефактов, промежуточная подготовка приложения перед развертыванием.
5. Релиз — управление изменениями, утверждение релизов, автоматизация релизов.
6. Настройка — настройка и управление инфраструктурой, инфраструктура как инструменты кода
7. Мониторинг — мониторинг производительности приложений, взаимодействие с конечным пользователем
Переменные среды
Переменная среды состоит из пары имя/значение, и любое число может быть создано и доступно для ссылки в определенный момент времени.
Во время выполнения ссылка на имя переменной среды заменяется ее текущим значением.
Случаи использования переменных среды включают, помимо прочего, такие данные, как:
· Режим выполнения (например, производство, разработка, подготовка и т. д.)
· Доменные имена
· API URL/URI
· Открытый и закрытый ключи аутентификации
· Групповые почтовые адреса, например, для маркетинга, поддержки или продаж
· Имена учетных записей служб