Я хотел бы клонировать мои FreeTier git repos из CodeCommit при использовании пакета для создания AMI. Это невероятно сложно и плохо документировано.Как разрешить упаковщику доступ к CodeCommit во время сборки AMI?
ответ
Это то, что окончательно сработало для меня. Это Ubuntu 16.04 hvm: ebs как базовое изображение, так как оно установит современный и функционирующий git и awscli. 14.04 было много вопросов, которые, в конце концов, не стоили разбираться.
{
"variables": {
"aws_access_key": "",
"aws_secret_key": ""
},
"builders": [{
"type": "amazon-ebs",
"name": "aws",
"access_key": "{{user `aws_access_key`}}",
"secret_key": "{{user `aws_secret_key`}}",
"iam_instance_profile": "packer",
"region": "us-east-1",
"source_ami": "ami-840910ee",
"instance_type": "t2.micro",
"ssh_username": "ubuntu",
"ami_name": "myproject {{timestamp}}"
}],
"provisioners": [{
"type": "shell",
"inline": [
"sleep 30",
"sudo apt-get update",
"sudo apt-get upgrade -y",
"sudo apt-get install -y git awscli python-virtualenv",
"sudo install -o ubuntu -g ubuntu -m 755 -d /opt/scratch",
"virtualenv /opt/scratch/venv",
"git config --global credential.helper '!aws codecommit credential-helper [email protected]'",
"git config --global credential.UseHttpPath true",
"git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/myproject /opt/scratch/venv/src/myproject",
"/opt/scratch/venv/bin/pip install -r /opt/scratch/venv/src/myproject/requirements.txt"
]
}]
}
В IAM консоли, пользователь, который будет использовать пакер нуждается в iam:PassRole
политики, чтобы иметь возможность использовать iam_instance_profile
директивы.
Также в консоли IAM вам необходимо создать роль для EC2 и дать ей политику AWSCodeCommitReadOnly
.
Отметьте, что --profile default
отсутствует на credential.helper, это намеренно. При использовании роли нет файла ~/.aws/credential
для хранения профиля по умолчанию. Вместо этого aws-cli
будет использовать роль, назначенную экземпляру, которая позволяет клонировать его с CodeCommit
- 1. SBT Разрешить дубликаты во время сборки
- 2. Доступ к переменной Gradle в Java во время сборки
- 3. Доступ к ссылкам проектов во время выполнения
- 4. Ошибка сборки во время работы
- 5. Как ограничить доступ к совместно используемому ami
- 6. Ошибка во время сборки
- 7. Доступ AWS CodeCommit от TeamCity
- 8. Файлы, помеченные как readonly во время сборки
- 9. Как предоставить доступ к ElasticBeanstalk для AWS CodeCommit
- 10. Доступ к номеру ревизии сборки в сценарии Powershell во время сборки TFS
- 11. Разрешить пользователю перемещаться во время загрузки файла
- 12. Как разрешить доступ к классу?
- 13. Доступ к ошибке во время выполнения 3134
- 14. Доступ к JWT Токен во время проверки
- 15. Доступ к HttpApplicationState во время Session_End
- 16. Доступ к stdin во время загрузки systemd
- 17. Доступ к памяти Android во время выполнения
- 18. Доступ к столу во время запуска
- 19. Доступ к ширине UIView во время выполнения
- 20. Доступ к свойствам подкомпонента во время разработки
- 21. Как добавить внешнюю информацию к программе C# во время сборки?
- 22. Docker публикует порты во время сборки
- 23. Как проверить UIViewControllers во время сборки?
- 24. Разрешить доступ к каталогу
- 25. Gradle NPE во время сборки?
- 26. Доступ к доктрине во время инициализации Bundle
- 27. Доступ к объектам во время выполнения!
- 28. Доступ к выходному видео во время записи
- 29. Доступ к объекту во время создания возможно?
- 30. Доступ к PrivateData во время импорта-модуля