26
22

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

1rep - 3分でできるAzure DevOps Azure Pipelines編 ~

Last updated at Posted at 2018-12-14

色々やってるMarcyです。

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などがあります。)

CI/CDとは?
継続的インティグレーション/継続的デリバリーを示し、開発に自動化を取り入れ、
バグなどの早期発見および自動デプロイなどを行う。

利用シーン:
例)
ファイルをDockerで作成し変更したファイルをfeatureブランチにプッシュし自動で
ビルドとテストコードが実行されコードが変更されるたびに行われる。
何も問題がなければそのままデプロイされる

百聞はなんとかなので手順を
利用するにはアカウント登録が必要です。こちらから登録

1.Azure Reposにソースコードをアップする

中身はNginx + golangのDockerfileになっています。
Azure Reposにソースコードをアップする

2.左のバーからPipelinesを選択しPipelineNew Pipelineをクリック

左のバーからPipelinesを選択しPipelineNew Pipelineをクリック

3.CIするリポジトリを選択

CIするリポジトリを選択

4.CIするプロジェクトファイルを選択

CIするプロジェクトファイルを選択

5.Docker imageを選択

Docker imageを選択

ファイルを自動で識別してくれます。

6.CIの設定

CIの設定

azure-pipelines.yml
imageNameは任意で自由に(プロダクト名に合った名前がベストかと)scriptの

docker build -f Dockerfile -t $(imageName)

Dockerfileの部分はリポジトリにおいてあるDockerfileのパスに合わせてください。
今回自分のリポジトリに合わせて下記の設定にしております。

# 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
pool:
 vmImage: 'Ubuntu 16.04'
variables:
 imageName: 'golangapp:$(build.buildId)'
steps:
- script: docker build -f .docker/golang/Dockerfile -t $(imageName) .
 displayName: 'docker build'

7.CI設定ファイルを保存

CI設定ファイルを保存

Commit directiy to the branchを今回選択していますが、CIを設定したいブランチへ作ることも可能です。そのまま Save and Run!

8.CI実行

CI実行

CI実行

CI実行
完了すると上記の画面が表示されます。

9.ファイルを変更しmasterブランチにコミット

ファイルを変更しmasterブランチにコミット

azure-pipelines.yml にを選択しimageNameの部分だけ変えてコミットしてみましょう。

ファイルを変更しmasterブランチにコミット

変更したらコミットしてPipelines戻ってみましょう。

10.変更したコミットファイルの自動実行

変更したコミットファイルの自動実行

先ほどのazure-pipelines.yml を変更したファイルがコミットされるとPipelinesで実行されます。
azure-pipelines.ymlがあるブランチでコミットされたら実行されるのでmasterブランチでなくとも実行されます。

Azure DevOps Azure Pipelines

Pipelinesは10個の無料並列ジョブをサポートされており、先に使っている人をまたずテストが可能です。
(待たなくていいのがいいですね!)

コンテナ開発が主流になっているのでCI/CDを楽にできテストが完了したものをAzure側のKubernetesですぐに使ったり開発環境がとても楽になるのでかなり重宝するかと思います。

蛇の足

昨今クラウドと呼ばれる環境がもてはやされている中、クラウドを主流に扱えるインフラエンジニアの数はものすごく少なく皆人材を求めています。

ですが、専任のインフラエンジアでなくてもクラウドを扱えるよう様々な工夫がなされております。(PaaSすげぇ.....)

参考事例)
【CEDEC2018】Azure最新情報+「オトギフロンティア」運用大公開+サーバーレスアーキテクチャー)

今からインフラ専任で食っていく!というよりも少し開発に携わりつつインフラもやるがベターかもしれません。
(AGMAのクラウドに就職・転職するのであれば専任でいいかもです。)

Marcy Twitter

26
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
22

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?