1
1

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.

初心者向けCI/CD実践 - Part2 - CI/CDツール構築編

Last updated at Posted at 2020-10-25

CI/CD環境を構築

本連載は、「CI/CDを実践してみたい」という超初心者向けの内容となっています
enterpriseレベルやproductionレベルの導入に際して、「CI/CDとは?」という感覚をつかむものとなれば幸いです。
利用するツール等はこちらで選定していますので、別のツールを利用する場合は、適宜お調べください。
大まかな内容としては、以下のようなフローとなります

  1. 環境構築
  1. CI/CDツールの構築<-今回はここを説明
  2. 開発プロジェクトの準備
    • GitHubにプロジェクトデータを登録
    • Jenkins Pluginのインストール
    • 手動ビルド
  3. CI/CDツールとその他ツールの併用例
    1. VCSとの協調
    2. テストツールとの協調
    3. インスペクションツールとの協調
  4. pipelineの実現

概要

  • Jenkinsコンテナの実行
  • Jenkins初期設定
  • gmailを用いてビルド結果を自動通知
  • JDK/Ant/Mavenの自動インストール

CI/CDツールの構築

CI/CDツールには、以下のようなものがある

  • Jenkins
  • Drone
  • CircleCI
  • AWS CodeBuild
  • Tekton 

今回はJenkinsを導入する

Jenkinsコンテナの実行

Jenkinsの公式を参考にJenkinsコンテナを実行し、初期設定を行う

最初にnetworkおよびvolumeの設定を行う

$ docker network create jenkins
$ docker volume create jenkins-docker-certs   //Dockerデーモンに接続するために必要なDockerクライアントのTLS証明書を共有
$ docker volume create jenkins-data   //データ永続化に利用
$ docker network ls   //新規作成されたbridge network及びdefaultの3つのnetworkがある
$ docker volume ls

続いて、jenkinsコンテナとしてjenkinsci/blueoceanを実行

$ docker container run --name jenkins-blueocean --rm --detach \
  --network jenkins --env DOCKER_HOST=tcp://docker:2376 \
  --env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 \
  --volume jenkins-data:/var/jenkins_home \
  --volume jenkins-docker-certs:/certs/client:ro \
  --publish 8080:8080 --publish 50000:50000 jenkinsci/blueocean

これで、jenkinsが実行される

jenkins dashboardへの初回ログイン

jenkinsのdashboardに入るためには、ブラウザ上でhttp://localhost:8080/と入力
passwordとして、コンテナを実行した際の値を入力
もしくは、下記コマンドを実行し初期パスワードを確認

$ docker exec jenkins-blueocean cat /var/jenkins_home/secrets/initialAdminPassword

続いて、pluginのインストールとユーザの作成を行う
Customizing Jenkins with pluginsにて以下のどちらかを選択
   Install suggested plugins(基本的にこちら)
   Select plugins to install

ユーザの作成では、以下のようにadmin権限を持った新規ユーザを作成

図5.png

これで初回ログイン時の設定は終了

jenkinsの初期設定

初期設定では、以下の2点に関して設定を行う

  • ビルド結果のメール通知
  • CI実現に必須なツールのインストール

初めに、「ビルド結果のメール通知」を設定
dashboard > 左ペインのJenkinsの管理 > 中央ペインのシステムの設定 >

Jenkins LocationにてJenkins URL,System Admin e-mail addressを入力
System Admin e-mail addressは通知メールの差出人

図6.png

E-mail Notificationにて以下のように設定
test mailの宛先を入力した後、Test configurationをクリック

図7.png

クリック後にEmail was successfully sentと表示されればメールが届いている
もし、Failed to send out e-mail

javax.mail.AuthenticationFailedException: 535-5.7.8 Username and Password not accepted. Learn more at 535 5.7.8  https://support.google.com/mail/?p=BadCredentials q14sm9594426pjp.43 - gsmtp

~~

と表示された場合、Googleアカウントの「安全性の低いアプリのアクセス」が無効(defaultは無効)
有効にする場合は、こちらを参考にしてください

続いて、「CI実現に必須なツールのインストール」を設定
dashboard > 左ペインのJenkinsの管理 > 中央ペインのGlobal Tools Configuration >

以下の通り入力しsave

図8.png

JDKのインストールに当たって、Oracleアカウントが必須なため、リンク先からユーザ名とパスワードを入力(入力前は"I agree to the Java SE ~~"付近にエラーが表示されている)
もしアカウントを持っていない場合、そこからアカウント作成が可能

図9.png

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?