我正在尝试将Jenkins与AWS CodeCommit集成。 Jenkins使用Ubuntu 14.04在AWS EC2实例上运行。
问题是, sudo -u jenkins aws configure 没有被执行,因为jenkins用户没有权限。
你会做什么?以下命令也不起作用:
casper.start("http://www.google.com/", casperFunctions.getPageTitle);
jenkins用户需要哪些权利?
提前致谢。
答案 0 :(得分:5)
我能够使用SSH实现这种集成。在某种程度上,我遵循了这些指示: Setting up for CodeCommit
假设Jenkins Home是/ var / lib / jenkins /
在Jenkins EC2实例上创建一个ssh密钥(/var/lib/jenkins/.ssh/id_rsa)
ssh-keygen -b 2048 -t rsa -f /var/lib/jenkins/.ssh/id-rsa -a -N
将公钥上传到IAM用户(IAM用户必须具有CodeCommit访问权限)
aws iam upload-ssh-public-key --user-name <username> --ssh-public-key-body file:///var/lib/jenkins/.ssh/id_rsa.pub
上传密钥时收集SSHPublicKeyID
{
"SSHPublicKey": {
"UserName": "jenkins",
"Status": "Active",
"SSHPublicKeyBody": "ssh-rsa <rsa-key> <host>\n",
"UploadDate": "2015-09-02T19:18:24.309Z",
"Fingerprint": "xxx",
"SSHPublicKeyId": "APK***"
}
}
创建/修改SSH配置文件
Host git-codecommit.*.amazonaws.com
User APK*******
IdentityFile /var/lib/jenkins/.ssh/id_rsa
StrictHostKeyChecking no
其中APK ***是在步骤3中检索到的密钥ID的值
答案 1 :(得分:0)
完成上述所有步骤后。如果它仍然不起作用。 克隆/var/lib/jenkins/.ssh中的任何分支。它将添加已知的主机条目。
sudo -u jenkins git clone ssh://git-codecommit.<your-region>.amazonaws.com/v1/repos/<your test branch>`