yyp٩( 'ω' )و

色々触って遊んでます

docker上で動くJenkins上でAWS CLIを使いたい(後編)

まえがき

前回の記事はこちら。

mizukichi3.hatenablog.jp

実は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にしないといけないのが若干気になりますが、使えるようになったので一旦これでよしとします。
今夜はぐっすり眠れそうです。