docker上で動くJenkins上でAWS CLIを使いたい(後編)
まえがき
前回の記事はこちら。
実はpipを使う方法も最初に試していたのですが、パーミッションでこけたのではなから諦めていました。
ですがふとUSERをrootにしたらどうなるだろうと試してみたらpipが入ったのでこちらの方法でやってみます。pipの方が簡単ですし…
pipを入れる
下記のようにDockerfileを作ってpipを入れます。
FROM jenkins:latest USER root RUN whoami RUN curl -kL https://bootstrap.pypa.io/get-pip.py | python RUN pip -V
ビルドします。
イメージ名はjenkins-pipとします。
% docker build -t jenkins-pip:latest . --no-cache ~~~~~~~~~~ Step 5/5 : RUN pip -V ---> Running in 82fb72a1add8 pip 19.2.3 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7) Removing intermediate container 82fb72a1add8 ---> f5ab3e83145a Successfully built f5ab3e83145a Successfully tagged jenkins-pip:latest
pip入りました。
AWS CLIを入れる
先ほどのDockerfileを元にAWS CLIをインストールするDockerfileを作ります。
FROM jenkins:latest USER root RUN curl -kL https://bootstrap.pypa.io/get-pip.py | python RUN pip install awscli RUN aws --version
ビルドします。
% docker build -t jenkins-pip:latest . --no-cache ~~~~~~~~~~ Step 5/5 : RUN aws --version ---> Running in 37e73c5894a7 aws-cli/1.16.227 Python/2.7.13 Linux/4.9.184-linuxkit botocore/1.12.217 Removing intermediate container 37e73c5894a7 ---> 89825d2eae74 Successfully built 89825d2eae74 Successfully tagged jenkins-pip:latest
awsコマンドが実行できています!やったね!
Jenkinsを起動して適当にジョブを作って実行してみましたが、awsコマンドは使えていそうです。
まとめ
USERをrootにしないといけないのが若干気になりますが、使えるようになったので一旦これでよしとします。
今夜はぐっすり眠れそうです。