Quantcast
Channel: Oracle Blogs 日本語のまとめ
Viewing all articles
Browse latest Browse all 760

[Docker, Cloud] Announcing new built-in steps for building, testing and pushing docker images in your Wercker pipelines

$
0
0
原文はこちら。
https://blogs.oracle.com/wercker/announcing-new-built-in-steps-for-building%2C-testing-and-pushing-docker-images-in-your-wercker-pipelines

Werckerに3つの新しい組み込みステップが追加されました。これにより、Dockerイメージの作成、テスト、イメージ・レジストリへのPushが簡単になり、全てWerckerパイプラインで可能になりました。

Dockerfileを作成してソースコードリポジトリに追加するだけでイメージをビルドできます。DockerfileはDockerイメージを作成する標準的な方法です。そのため、既存のプロジェクトをWerckerに移動する場合は、すでにDockerfileを作成済みのことでしょう。

この internal/docker-build ステップを使って、DockerfileをWerckerで直接実行できます。 単に以下の記述をwercker.ymlに追加するだけです。
- internal/docker-build:
dockerfile: Dockerfile
image-name: my-new-image
Dockerイメージを作成したら、イメージを始動してテストを実行したいと思うことでしょう。そんなときは、この新しい internal/docker-build というステップを使って新しいイメージを始動できます。
- internal/docker-run:
image: my-new-image
image-name は後のステップでイメージを参照するために使用する一時的な名前です。

このコマンドで先ほど作成したイメージを使って新しいコンテナを起動します。パイプラインはコンテナに接続し、やりたいテストを実行できます。

作成したイメージが”Hello World”を返すWebサーバを実行すると仮定しましょう。以下はコンテナに接続し、 curl コマンドを使って期待するレスポンスが戻ることを検証するシンプルなスクリプトのステップです。
Using Wercker to build an image from a Dockerfile
https://github.com/wercker/docker-build-golang
- script: 
name: Test the container
code: |
if curlOutput=`curl -s myTestContainer:5000`; then
if [ "$curlOutput" == "Hello World!!" ]; then
echo "Test passed: expected response"
else
echo "Test failed: unexpected response"
exit 1
fi
else
echo "Test failed: container did not respond"
exit 1
fi
テストが成功すると、他者がそのイメージを利用できるよう、Docker HubのようなレジストリへのイメージのPushをパイプラインにさせたいと思うことでしょう。

既存の internal/docker-push ステップを拡張し、その前の internal/docker-build ステップで作成したイメージを任意のレジストリにPushできるようにしました。:
- internal/docker-push: 
image-name: my-new-image
username: $USERNAME # You can configure user and password
password: $PASSWORD # securely in wercker.com
repository: docker.io/$USERNAME/docker-build-golang
tag: latest
すごく簡単ですね。
ドキュメントをご覧いただき、GitHubのサンプルをお試しください。
Building an Image
https://devcenter.wercker.com/administration/containers/building-an-image/
Using Wercker to build an image from a Dockerfile
https://github.com/wercker/docker-build-golang

Viewing all articles
Browse latest Browse all 760

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>