Как автоматизировать ночной переход на ветку GitHub с живого веб-сайта с powershell и командным файлом

У меня есть действующий веб-сайт (обслуживается через IIS на Windows Server 2008 R2) и репозиторий github на этом сервере. Я работаю в небольшой команде разработчиков (3 человека) и мы хотим, чтобы каждый вечер автоматически создавался наш живой сайт:

  1. Скопируйте из размещенной папки IIS в наше локальное хранилище (на том же сервере)
  2. Оформить заказ в ветке "NightlyPush"
  3. Добавьте все файлы в только что обновленный репозиторий (чтобы он соответствовал Prod на данный момент)
  4. Зафиксируйте все файлы в репо
  5. Сделайте (принудительное) принудительное обновление GitHub.

Таким образом, у нас есть основная ветвь, которую разработчики затрагивают только вручную, однако ветка "NightlyPush" будет иметь самую последнюю версию нашего сайта накануне вечером. Таким образом, мы можем быть уверены, что master всегда будет стабильным, но NightlyPush - это хорошая резервная копия, которую мы всегда можем использовать, если у нас когда-нибудь возникнут проблемы или нам нужно взглянуть на прошлый код.

Я написал скрипт в Powershell, который обрабатывает все это, и он хорошо работает, когда я запускаю его вручную из приглашения Git Shell (posh-git), однако автоматизация его с помощью командного файла не работает. Если я запускаю свой скрипт из PowerShell (не из Git), он не распознает команды Git... поэтому я решил, что могу запустить его через Git Shell с таким же синтаксисом:

C:\Users\Me\AppData\Local\GitHub\GitHub.appref-ms --open-shell -no-exit C:\Users\Me\Documents\Scripts\CopySite_And_PushToGitHub.ps1

Это открывает Git Shell, однако он просто мигает, как будто я не передал ему скрипт для выполнения. Если я вручную вставлю путь в подсказку и нажму Enter - все работает.

** Примечание: это мой первый набег в GitHub, Powershell и командные файлы, я мог упустить что-то глупое / очевидное. Если это так, я приму позор до тех пор, пока кто-нибудь поможет мне разобраться!

1 ответ

Решение

Добавьте PoSH Git в свой профиль powershell по умолчанию (и при планировании его как задачи также проверьте профиль пользователя задачи). Эта статья должна помочь вам начать. - Roderick Bant

Другие вопросы по тегам