LoginSignup
1
1

More than 3 years have passed since last update.

100日後にエンジニアになるキミ - 90日目 - 開発 - CIについて

Posted at

昨日までのはこちら

100日後にエンジニアになるキミ - 88日目 - データ - データ転送について

100日後にエンジニアになるキミ - 86日目 - データベース - Hadoopについて

100日後にエンジニアになるキミ - 76日目 - プログラミング - 機械学習について

100日後にエンジニアになるキミ - 70日目 - プログラミング - スクレイピングについて

100日後にエンジニアになるキミ - 66日目 - プログラミング - 自然言語処理について

100日後にエンジニアになるキミ - 63日目 - プログラミング - 確率について1

100日後にエンジニアになるキミ - 59日目 - プログラミング - アルゴリズムについて

100日後にエンジニアになるキミ - 53日目 - Git - Gitについて

100日後にエンジニアになるキミ - 42日目 - クラウド - クラウドサービスについて

100日後にエンジニアになるキミ - 36日目 - データベース - データベースについて

100日後にエンジニアになるキミ - 24日目 - Python - Python言語の基礎1

100日後にエンジニアになるキミ - 18日目 - Javascript - JavaScriptの基礎1

100日後にエンジニアになるキミ - 14日目 - CSS - CSSの基礎1

100日後にエンジニアになるキミ - 6日目 - HTML - HTMLの基礎1

本日はにCIについてです。

CIについて

CIとはContinuous Integrationの略で、継続的インテグレーションと呼ばれています。

CIでは開発者がコード変更をリポジトリにマージし、その度に自動化されたビルドとテストを実行します。
これによりチームはソフトウェアをより迅速に開発できるようになります。

image.png

参考:https://cloudbees.techmatrix.jp/devops/ci/

ビルドについて

ビルド(build)とはソフトウェアのソースコードを用いて
実際に稼働するプログラムを作成することです。

ソースコードから実際のプログラムを作る際には、いろいろな作業が必要です。

この「いろいろな作業」を含めて「プログラムの元から実際のプログラムを作る作業」
がビルドになります。

プログラム自体は1つのファイルから出来ているわけではありません。
複数のファイル群をつなぎ合わせて1つのプログラムとなることがほとんどです。

そういったファイル同士のリンクや、ソースコードからのコンパイルを含めた
実行ファイルの作成を行います。

ビルドには数分から数時間を要する場合がありますが
手作業でやっていては時間が足りなくなるケースもあるため
ビルドを自動化するツールも増えてきています。

デプロイについて

ソフトウェアデプロイメント(Software deployment)の略のようです。
デプロイメント(Deployment)とは「展開、配備、配置」という意味になります。

一般的にはビルドして出来上がった実行ファイル群をサーバーなどに配置して
実行できるようにすることを指します。

CIツールについて

CIツールは一連のビルド作業、デプロイ作業などを自動化します。

ソースコードの変更を行ったあとはビルド元のリポジトリでソースコードの更新がと行われ
まずはビルドが可能かどうかをチェックします。

ここでダメだった場合は手直しになりますが、こういった失敗のリカバリーなどを含め
自動化ツールでは作業工程のどこがダメなのかを迅速に把握することができ
開発工程を短くするのに一役買っています。

主なCIツール

一般的なCIツールを紹介します。

Jenkins

image.png

もっとも一般的で有名ななCIツールで、トレードマークはおじさんです。
オープンソースで無料で、高い汎用性と、豊富なプラグインによる優れた拡張性
対応言語の多さが人気の理由です。

また利用者が多く、コミュニティも大きく、日本語の情報が集めやすいのも特徴です。

このツール自体もアプリケーションであるためサーバーなどにインストールして
利用を行います。

Circle CI

image.png

クラウド向けに最適化されたCIツールでパラレル稼働によるテスト・ビルドの
処理の早さが売りの一つ無料となる利用制限内でも、十分に役立つようです。

iOSのビルドが行なえるのもCircle CIが選ばれる理由となっているようです。

Circle CI

Travis CI

image.png

こちらも無料で使えるツールでコードも公開されているようです。

Travis CI

オープンソースのプロジェクトであればtravis-ci.orgで無料
プライベートプロジェクトであればtravis-ci.comで有料で利用となっているようです。

GitLab CI

image.png

こちらもオープンソースのCIツールになります。

GitLab CI

まとめ

大規模な開発をする上では、こういったプログラミング以外の部分も
割と工数を取られることになります。

ツールを導入することで工数削減と品質の向上を実現できるので
ビルドやデプロイの自動化はかなり進んでいます。

自分たちも昔はJenkinsをサーバーに立てて運用していました。
慣れるまでは少し大変かもしれませんが、導入後のメリットを考えると
利用したいツールになりますので、ツール自体の知識は抑えておきましょう。

君がエンジニアになるまであと10日

作者の情報

乙pyのHP:
http://www.otupy.net/

Youtube:
https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw

Twitter:
https://twitter.com/otupython

1
1
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
1
1