gradle - 使用 Packer Provisioner 安装 Gradle
问题描述
我在使用 Packer 安装 Gradle 时遇到问题,我只是按照source-url中的这些步骤操作。我已经尝试并验证了它在手动操作时是否正常工作,但是在尝试使用Packer Provisioner应用它时,我收到了以下错误:
amazon-ebs.ec2: inflating: /opt/gradle/gradle-7.1/lib/plugins/opentest4j-1.2.0.jar
==> amazon-ebs.ec2: /tmp/script_1916.sh: line 26: /etc/profile.d/gradle.sh: Permission denied
==> amazon-ebs.ec2: /tmp/script_1916.sh: line 27: /etc/profile.d/gradle.sh: Permission denied
amazon-ebs.ec2: VERSION CHECK
==> amazon-ebs.ec2: /tmp/script_1916.sh: line 31: gradle: command not found
打包程序供应商部分有这个:
provisioner "shell" {
script = "../scripts/boy-oh-boy.sh"
}
其中 boy-oh-boy.sh 包含 gradle 安装的这些部分:
echo "GRADLE INSTALLATION"
sudo wget https://services.gradle.org/distributions/gradle-7.1-bin.zip -P /tmp
sleep 60
sudo unzip -d /opt/gradle /tmp/gradle-*.zip
sudo touch /etc/profile.d/gradle.sh
sudo echo "export GRADLE_HOME=/opt/gradle/gradle-7.1" >> /etc/profile.d/gradle.sh
sudo echo "export PATH=${GRADLE_HOME}/bin:${PATH}" >> /etc/profile.d/gradle.sh
sudo chmod +x /etc/profile.d/gradle.sh
source /etc/profile.d/gradle.sh
echo "VERSION CHECK"
gradle --version
解决方案
推荐阅读
- sql - SQL选择包含来自与其他行相交的值的行
- syntax - redis WATCH 语法看不懂
- android - 在发送消息之前从接收方获取 OmemoFingerprint
- python - 用于 POST 方法 json 格式输出的嵌套序列化程序的 Django Rest Framework(已删除只读)
- c# - Xamarin ViewModel 简化多个属性
- android - 如何正确清除 TextInput?
- authentication - DNN 9.0.2 - 身份验证后创建/添加角色
- azure - 如何删除 AKS 引擎创建的 Kubernetes 集群?
- php - 带有 PDO 的 mysql 查询中的重音
- selenium - 如何使用硒处理多选列表框?