1

Jenkins を AWS CodeCommit と統合しようとしています。Jenkins は、Ubuntu 14.04 の AWS EC2 インスタンスで実行されています。

このブログ投稿に従いました: http://blogs.aws.amazon.com/application-management/post/Tx1C8B ​​98XN0AF2E/Integrating-AWS-CodeCommit-with-Jenkins

問題は、jenkins ユーザーに権限がないため、sudo -u jenkins aws configureが実行されないことです。

あなたならどうしますか?

次のコマンドも機能しません。

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 ユーザーにはどのような権限が必要ですか?

前もって感謝します。

4

2 に答える 2

5

SSH を使用してこの統合を実現できました。ある程度、次の手順に従いました: CodeCommit の設定

Jenkins ホームが /var/lib/jenkins/ であると仮定します

  1. Jenkins EC2 インスタンス (/var/lib/jenkins/.ssh/id_rsa) で ssh キーを作成します。

    ssh-keygen -b 2048 -t rsa -f /var/lib/jenkins/.ssh/id-rsa -a -N
    
  2. 公開鍵を IAM ユーザーにアップロードします (IAM ユーザーには CodeCommit アクセス権が必要です)

    aws iam upload-ssh-public-key --user-name <username> --ssh-public-key-body file:///var/lib/jenkins/.ssh/id_rsa.pub
    
  3. キーをアップロードするときに SSHPublicKeyID を収集します

    {
     "SSHPublicKey": {
     "UserName": "jenkins",
     "Status": "Active",
     "SSHPublicKeyBody": "ssh-rsa <rsa-key> <host>\n",
     "UploadDate": "2015-09-02T19:18:24.309Z",
     "Fingerprint": "xxx",
     "SSHPublicKeyId": "APK***"
     }
    }
    
  4. SSH 構成ファイルの作成/変更

    Host git-codecommit.*.amazonaws.com
      User APK*******
      IdentityFile /var/lib/jenkins/.ssh/id_rsa
      StrictHostKeyChecking no
    
  5. APK*** は、手順 3 で取得したキー ID の値です。

  6. このファイルを /var/lib/jenkins/.ssh/config (または Jenkins が EC2 インスタンスにインストールされている場所) にコピーまたは移動します。
  7. 「jenkins」ユーザーに /var/lib/jenkins/.ssh ディレクトリへの 0600 権限があることを確認します
  8. 最初に使用したブログ投稿の説明に従って、Jenkins ジョブを作成します。ただし、リポジトリの URL には、代わりに SSH の URL を入力します。(資格情報は必要ありません)
于 2015-09-02T21:20:19.393 に答える
0

上記のすべての手順を実行した後。それでもうまくいかない場合。/var/lib/jenkins/.ssh 内の任意のブランチを複製します。既知のホスト エントリが追加されます。

sudo -u jenkins git clone ssh://git-codecommit.<your-region>.amazonaws.com/v1/repos/<your test branch>`
于 2016-11-25T04:54:51.117 に答える