Здравствуйте. Я пытаюсь создать развертывание CodeDeploy для моего приложения golang. У меня есть группа автомасштабирования, в которой используется созданный мной AMI, в котором установлены все необходимые библиотеки. Когда я пытаюсь запустить CodeDeploy, он существует с ошибкой в моем after_install
:
LifecycleEvent - AfterInstall
Script - scripts/after_install.sh
[stderr]/opt/codedeploy-agent/deployment-root/a65d9a2e-fddd-471c-8ea1-c018792d00bd/d-4IKP3PP4Y/deployment-archive/scripts/after_install.sh:
line 4: go: command not found
Я знаю, что go установлен на сервере, который я могу проверить, запустив sshing на сервер и выполнив команду go. Изначально мой after_install
хук был запущен от имени пользователя root, поэтому я подумал, что он жаловался на то, что он не установлен.
Я обновил его до ubuntu
вот файл appspec
version: 0.0
os: linux
files:
- source: ./
destination: ./home/ubuntu/code
hooks:
AfterInstall:
- location: scripts/after_install.sh
timeout: 180
runas: ubuntu
ApplicationStart:
- location: scripts/application_start.sh
timeout: 180
runas: root
Но я все еще получаю ошибку команды go not found. Я SSH на сервер как ubuntu
пользователь, и я ясно вижу, что go установлен.
Я сделал еще один шаг вперед и запустил файл after_install.sh
, и он работал без ошибок. Что я здесь не так делаю?
Просто для любопытных вот мой after_install.sh
файл
#!/bin/bash
cd /home/ubuntu/code/vibeify/cmd/vibeify
go build