从运行在EC2(Ubuntu)上的Jenkins访问AWS CodeCommit

从运行在EC2(Ubuntu)上的Jenkins访问AWS CodeCommit,ubuntu,amazon-web-services,jenkins,amazon-ec2,aws-codecommit,Ubuntu,Amazon Web Services,Jenkins,Amazon Ec2,Aws Codecommit,我正在尝试将Jenkins与AWS CodeCommit集成。Jenkins使用Ubuntu14.04在AWS EC2实例上运行 我关注了这篇博文: 问题是,sudo-u jenkins aws configure没有执行,因为jenkins用户没有权限 你会怎么做 以下命令也不起作用: sudo -u jenkins git config --global credential.helper '!aws codecommit credential-helper $@' sudo -u jenk

我正在尝试将Jenkins与AWS CodeCommit集成。Jenkins使用Ubuntu14.04在AWS EC2实例上运行

我关注了这篇博文:

问题是,sudo-u jenkins aws configure没有执行,因为jenkins用户没有权限

你会怎么做

以下命令也不起作用:

sudo -u jenkins git config --global credential.helper '!aws codecommit credential-helper $@'
sudo -u jenkins git config --global credential.useHttpPath true
sudo -u jenkins git config --global user.email "me@mycompany.com"
sudo -u jenkins git config --global user.name "MyJenkinsServer"
jenkins用户需要什么权限


提前感谢。

我能够使用SSH实现此集成。在某种程度上,我遵循了以下指示:

假设Jenkins Home为/var/lib/Jenkins/

  • 在Jenkins EC2实例上创建ssh密钥(/var/lib/Jenkins/.ssh/id\u rsa)

  • 将公钥上载到IAM用户(IAM用户必须具有CodeCommit访问权限)

  • 其中APK***是在步骤3中检索到的密钥ID的值

  • 将此文件复制或移动到/var/lib/jenkins/.ssh/config(或EC2实例上安装jenkins的位置)
  • 确保“jenkins”用户对/var/lib/jenkins/.ssh目录拥有0600权限
  • 按照您第一次使用的博客帖子中的描述创建Jenkins作业。但是,对于存储库URL,请输入SSH URL。(无需凭据)

  • 我能够使用SSH实现这种集成。在某种程度上,我遵循了以下指示:

    假设Jenkins Home为/var/lib/Jenkins/

  • 在Jenkins EC2实例上创建ssh密钥(/var/lib/Jenkins/.ssh/id\u rsa)

  • 将公钥上载到IAM用户(IAM用户必须具有CodeCommit访问权限)

  • 其中APK***是在步骤3中检索到的密钥ID的值

  • 将此文件复制或移动到/var/lib/jenkins/.ssh/config(或EC2实例上安装jenkins的位置)
  • 确保“jenkins”用户对/var/lib/jenkins/.ssh目录拥有0600权限
  • 按照您第一次使用的博客帖子中的描述创建Jenkins作业。但是,对于存储库URL,请输入SSH URL。(无需凭据)

  • 完成上述所有步骤后。如果它仍然不起作用。 克隆/var/lib/jenkins/.ssh中的任何分支。它将添加已知的主机条目

    sudo -u jenkins git clone ssh://git-codecommit.<your-region>.amazonaws.com/v1/repos/<your test branch>`
    
    sudo-u jenkins git克隆ssh://git-codecommit..amazonaws.com/v1/repos/`
    
    完成上述所有步骤后。如果它仍然不起作用。 克隆/var/lib/jenkins/.ssh中的任何分支。它将添加已知的主机条目

    sudo -u jenkins git clone ssh://git-codecommit.<your-region>.amazonaws.com/v1/repos/<your test branch>`
    
    sudo-u jenkins git克隆ssh://git-codecommit..amazonaws.com/v1/repos/`
    
    {
     "SSHPublicKey": {
     "UserName": "jenkins",
     "Status": "Active",
     "SSHPublicKeyBody": "ssh-rsa <rsa-key> <host>\n",
     "UploadDate": "2015-09-02T19:18:24.309Z",
     "Fingerprint": "xxx",
     "SSHPublicKeyId": "APK***"
     }
    }
    
    Host git-codecommit.*.amazonaws.com
      User APK*******
      IdentityFile /var/lib/jenkins/.ssh/id_rsa
      StrictHostKeyChecking no
    
    sudo -u jenkins git clone ssh://git-codecommit.<your-region>.amazonaws.com/v1/repos/<your test branch>`