前回 3分でできるAzure DevOps Azure Pipelines編 ~を書きましたがその延長で、docker-composeのファイルの場合のものをやっていなかったなぁと思いメモ。
Azure DevOpsとは
「最新の一連の開発サービスを利用して、よりスマートに計画を立て、より効率的に共同作業を行い、より迅速に公開しましょう。」
(Github + Zenhub + 開発グループウェア + circleci が一つになったような感じです。)
公式サイト引用:https://azure.microsoft.com/ja-jp/services/devops/https://azure.microsoft.com/ja-jp/services/devops/
その中でも、Azure Pipelines(CI/CD)とDockerfileを使い簡単に、ビルドを自動化してみましょう。
(類似するサービスで、circleci codeshipなどがあります。)
1.前回同様リポジトリにdocker-composeのファイルをアップ
2.Pipelinesに移動 New pipelineをクリック
3.設定ファイル
Dockerfile単体の場合
steps:
- script: docker build -f .docker/golang/Dockerfile -t $(imageName) .
docker-composeの場合
- script: |
docker-compose -f docker-compose.yml --project-directory . -p docs up -d
docker wait docs_sut_1
docker-compose -f docker-compose.yml --project-directory . down
docker-compose.ymlのファイルが存在する箇所にパスを合わせてください。
結果
# Docker image
# Build a Docker image to deploy, run, or push to a container registry.
# Add steps that use Docker Compose, tag images, push to a registry, run an image, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/docker
trigger:
- master
pool:
vmImage: 'Ubuntu-16.04'
variables:
imageName: 'php-laravel:$(build.buildId)'
steps:
- script: |
docker-compose -f docker-compose.yml --project-directory . -p docs up -d
docker wait docs_sut_1
docker-compose -f docker-compose.yml --project-directory . down
displayName: 'PHP-Laravel docker build'
4.いざ実行
無事ビルド完了〜!
Azure DevOps Azure Pipelines
Pipelinesは10個の無料並列ジョブをサポートされており、
先に使っている人をまたずテストが可能です。