LoginSignup
0
0

More than 5 years have passed since last update.

Puppet Pipelines for Applicationsをオンプレミスのサーバにインストールしてみた

Last updated at Posted at 2019-02-20

Continuous Everythingな昨今、CI/CDツールは無償・有償を問わず市場に出回っていますがPuppet Pipeliensにはどんな特徴があるのでしょうか?

Puppet Pipelinesとは?

Puppet PipelinesはPuppet社が提供しているCI/CDツールです。従来型のアプリケーションを対象としたPipelines for Applicationsとコンテナ型のアプリケーションを対象としたPipelines for Containersの2種類があります。直感的なUIでデリバリーパイプラインを可視化できることが売りです。

環境

Puppet Pilenes for Application : 2019年2月時点の最新版
OS : CentOS 7(3.10.0-957.1.3.el7.x86_64)
Docker : version 18.09.1, build 4c52b90
Docker Compose : version 1.23.2, build 1110ad01
ブラウザ : Chrome

インストール

Puppet PipelinesはDockerコンテナ上で稼働するApplicationで、JFrog Artifactory/MySQL/Pipelinesの3つのコンテナで構成されていまqす。インストールするにはDockerとDocker Composeがインストールされている必要があります。この記事ではこちらこちらの記事を参考にインストールしています。

docker-compose.yamlを任意のディレクトリに置きます。

version: '2.1'
services:
  pfa:
    container_name: pfa
    ports:
      - "8080:8080"
      - "7000:7000"
      - "8000:8000"
    image: puppet/pipelines-for-applications:latest
    environment:
      DB_ENDPOINT: mysql://db:3306/pfa
      USER: pfa
      MYSQL_PWD: puppetlabs
    depends_on:
      - db
      - artifactory
  db:
    image: mysql:5.7
    container_name: pfa_db
    restart: always
    environment:
       MYSQL_ROOT_PASSWORD: puppetlabs
       MYSQL_DATABASE: pfa
       MYSQL_USER: pfa
       MYSQL_PASSWORD: puppetlabs
  artifactory:
    image: docker.bintray.io/jfrog/artifactory-oss:5.8.3
    container_name: pfa_artifactory
    ports:
      - 8081:8081
    volumes:
      - data_s3:/var/opt/jfrog/artifactory

volumes:
  db_data:
    name: pfa_db_data
  data_s3:
    name: pfa_data_s3

docker-compose.yamlを置いたディレクトリでdocker-composeを実行してコンテナイメージをダウンロード、コンテナを作成します。

$ docker-compose up -d

コンテナの稼働状況を確認します。

$ docker ps --all
CONTAINER ID        IMAGE                                           COMMAND                  CREATED              STATUS              PORTS                                                                    NAMES
73bb20314f47        puppet/pipelines-for-applications:latest        "/sbin/init"             About a minute ago   Up About a minute   0.0.0.0:7000->7000/tcp, 0.0.0.0:8000->8000/tcp, 0.0.0.0:8080->8080/tcp   pfa
92b1aaf5533f        docker.bintray.io/jfrog/artifactory-oss:5.8.3   "/entrypoint-artifac…"   About a minute ago   Up About a minute   0.0.0.0:8081->8081/tcp                                                   pfa_artifactory
4e97877517ff        mysql:5.7                                       "docker-entrypoint.s…"   About a minute ago   Up About a minute   3306/tcp, 33060/tcp                                                      pfa_db

念の為コンテナが利用しているポートがListenしているか確認します。

$ netstat -tulpn
-- 省略 --
tcp6       0      0 :::7000                 :::*                    LISTEN      -
tcp6       0      0 :::8000                 :::*                    LISTEN      -
tcp6       0      0 :::8080                 :::*                    LISTEN      -
tcp6       0      0 :::8081                 :::*                    LISTEN      -
-- 省略 --

設定

JFrog

Chromeでhttp://:8081にアクセスしてWelcome画面でNextを押します。

Adminのパスワードを設定します。

Proxy Serverの設定はSkipします。

Genericを選択してCreateを押します。次の画面でFinishを押します。JFrogの設定はおわりです。

Pipelines for Applications

Puppet社のライセンス管理サイトから30日間無償で利用可能な評価版ライセンスを入手します。アカウントの登録が必要です。

Chromeでhttp://:8080にアクセスして管理者アカウントを設定して次の画面でライセンスファイルを投入します。

WebUI, Backend Service, Agent Serviceのエンドポイントを設定します。hostnameはFQDNを指定します。

  • WebUI : http://:8081
  • Backend Service : http://:8080
  • Agent Service : http://:7000

StorageはArtifactoryチェックボックスを選択します。

  • Artifactory Repository : JFrogの設定時に選択したリポジトリ
  • Artifactory Endpoint : http://:8081/ --> hostnameはFQDNを指定します。
  • Artifactory Access Token : 下記のコマンドで取得します。--> 画面右に記載されているコマンドをコピーペーストするとうまく動かないため手で入力する必要があります。
  • Path Prefix : 任意の名前
$ curl -X POST -u admin:ncya6t4x http://localhost:8081/artifactory/api/security/apiKey
{"apiKey":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}

Integrationsは後でデリバリーパイプラインを作るときに設定できるためここではSkipします。

Single Sign OnもSkipします。

Pipelines is now ready!

おわりに

この記事はオンプレミス環境で利用するシーンを想定していますがPipelinesはSaaS版もあります。SaaS版を使えば面倒なインストール作業はいらないよね?クラウドファースト時代なのに何故?と思われがちですが、重要な企業資産をインターネット上に安易に公開できない、SaaSの利用は企業ポリシーで制限されているというお客様も多いのが実情です。
Puppet Pipelinesはあらゆるお客様のご事情を鑑みたCI/CDツールです!

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