Мерзавец: не Может продвинуть от одного компьютера

Вы должны использовать дистанционное состояние .

Локальное состояние полезно только в том случае, если вы всегда работаете с одной и той же машины и не беспокоитесь о потере файла состояния, если случайно что-то удалили и т. Д.

Вы можете смешивать и сочетать любые доступные бэкэнды состояний, но, поскольку вы уже используете AWS, возможно, имеет смысл использовать бэкенд S3 .

Вам нужно будет определить конфигурацию состояния для каждого местоположения, что можно сделать полностью жестко в конфигурации, полностью с помощью флагов командной строки или частично с обоими.

Например, у вас должно быть что-то вроде этого блока в каждом из каталогов, в которых вы запускаете Terraform:

terraform {
  backend "s3" {}
}

Затем вы можете завершить настройку этого во время [ 112] :

terraform init -backend-config="bucket=uniquely-named-terraform-state-bucket" \
               -backend-config="key=state-key/terraform.tfstate"

Как только вы запустите terraform init, Terraform получит состояние из S3 для любых планов. Затем на terraform apply или terraform destroy он обновит файл состояния по мере необходимости.

Это позволит вам легко делиться состоянием между коллегами, а также с машинами CI / CD. Вам также следует рассмотреть возможность блокировки состояния с использованием DynamoDB, чтобы предотвратить повреждение состояния несколькими людьми, изменяющими состояние одновременно. Точно так же вы должны также рассмотреть возможность включения управления версиями в корзине S3, используемой для хранения вашего состояния, чтобы вы всегда могли вернуться к более ранней версии состояния в случае любых проблем.

9
задан Paul 30 December 2008 в 00:05
поделиться

6 ответов

Я не пользователь Windows, таким образом, я остер в темноте немного здесь. Похоже, что удаленная файловая система смонтирована, и Вы просто продвигаете к тому (не использующий ssh://или git://). Тот FS так или иначе смонтирован только для чтения? Он может создать/изменить файлы на там (за пределами git)?

6
ответ дан 4 December 2019 в 13:05
поделиться

Я знаю, что это - легкий-peasy ответ выпуска пара системного администратора, но Вы проверили, что его жесткий диск не полон?

3
ответ дан 4 December 2019 в 13:05
поделиться

Попытайтесь добавить эту переменную конфигурации к удаленному репозиторию:

 $ git config core.sharedRepository "all"
 $ git config receive.denyNonFastForwards True

Они обычно устанавливаются --shared опция в git init, когда repo настраивается.

Я не знаю, как полномочия окон взаимодействуют, таким образом, я не уверен, что это - решение. Но я знаю, что иногда пользователь Linux может создать файлы с полномочиями, которые перестали работать в Мерзавце, удаленном точно этим способом. Это произошло, когда они принадлежат надлежащей группе, но не имеют ее как своя основная группа. Установка совместного использования repo к all обходит это.

Это кажется, происходят с общим repos, импортированным из SVN или CVS.

5
ответ дан 4 December 2019 в 13:05
поделиться

Проблема закончила тем, что была сохраненным паролем для той доли, которая позволила доступ для чтения, но не доступ для записи. Даже когда мы явно смонтировали диск с соответствующим именем пользователя и паролем, сохраненный пароль, должно быть, использовался в фоновом режиме, который сделал это трудным разыскать. Для очистки пароля мы перешли к Панели управления, Учетным записям пользователей, нажали на Advanced, Manage Passwords, и удалили информацию о входе в систему для рассматриваемого сервера. После этого все работало, как это должно. Я принимаю ответ Pat Notz, так как он действительно заканчивал тем, что был FS только для чтения.Спасибо!

2
ответ дан 4 December 2019 в 13:05
поделиться

Возможно, он создал ответвление в своем локальном repo, который уже существует на сервере и что касательно не может быть обновлен, потому что это было создано кем-то еще?

0
ответ дан 4 December 2019 в 13:05
поделиться

Другой глупый ответ. Вы уверенный у Вас есть полномочия считать те файлы? Произошел со мной несколько раз, где я внесу изменение как другой пользователь по ошибке. Затем позже я не могу продвинуть. Chown является Вашим другом.

0
ответ дан 4 December 2019 в 13:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: