我正在尝试构建一个简单的Jenkins管道,该管道将将React应用程序部署到EC2,构建并运行Dockerfile。
管道也托管在EC2中。我正在使用SSH Publish插件和jenkinsfile。
在Jenkins配置中,当我测试配置成功时。在目标EC2上,我创建了一个用户“ docker_admin_cg”
我的Jenkins文件具有以下阶段:
stage('SSH Transfer'){
steps{
script{
sh "chmod -R 777 ./"
sshPublisher(
continueOnError: false, failOnError: true,
publishers: [
sshPublisherDesc(
configName: "docker_host",
verbose: true,
transfers: [
sshTransfer(
sourceFiles: "**/*",
removePrefix: "/",
remoteDirectory: "/home/ec2-user/",
execCommand: "ls"
)
]
)
]
)
}
}
}
此返回
SSH: Connecting session ...
SSH: Connected
SSH: Opening SFTP channel ...
SSH: SFTP channel open
SSH: Connecting SFTP channel ...
SSH: Connected
SSH: cd [/]
SSH: OK
SSH: cd [/]
SSH: OK
SSH: put [.dockerignore]
SSH: Disconnecting configuration [docker_host] ...
ERROR: Exception when publishing, exception message [Permission denied]
在目标ec2上,我使docker_admin_cg使用具有root访问权限。我还为目标ec2的安全组中的Jenkins服务器提供了专用ip地址。
为什么即使SSH配置测试成功,访问也被拒绝?