LoginSignup
11
11

More than 5 years have passed since last update.

勉強会用:Jenkinsユーザ・カンファレンス2015 の見どころまとめ

Last updated at Posted at 2015-02-04

以前書いた記事を勉強会用に再編してみまっす


基調講演 Jenkinsプロジェクトの現状とワークフロー

  • 見どころはずばりWorkflow plugin
    • 特徴
      • 複雑な活動を簡潔に指揮・記述
        • それなりの学習コストが必要そう
        • 複雑なことを完結に書くためにはそれなりのノウハウとかいるよね
      • 一つのジョブで必要な全てを記述
        • これまでpipelineとかbuild-flowとかで管理していたものが置き換えられそう
      • GroovyによるDSL
        • Snippet Generatorがある
        • でも(まだ)細かいところはgenerateしてくれないしバグも沢山あるっぽい
      • JVMのロスや再起動に耐えるデザイン
        • ジョブ実行中にJenkins再起動などがあっても途中から再開できる
        • JenkinsEnterpriseだとチェックポイント作れるらしい
      • 拡張性
        • 他のプラグインと連携できるってことだと思う、けど正直良く分かってない
    • サンプル

はてなにおける継続的デプロイメントの現状とDockerの導入

  • 見どころはDocker+Jenkinsでの開発中の確認環境構築
  • 従来
    • 従来
  • Docker利用

    • Docker利用
    • Plack?

      PSGI(Perl Web Server Gateway Interface)は、プログラミング言語Perlで使われる、WebアプリケーションとWebサーバを接続するインタフェースの1つであり、PerlにおけるWebアプリケーション用標準インタフェースとして使われることが意図されている。

    • DockerAPI

    • DockerAPIを使ったポート番号解決

      1. DockerAPI(json)から、Image="hogehoge:latest"なエントリを見つける
      2. Portsからホスト側のポートを取得
        • Docker使うと簡単にホスト-コンテナでポートフォワード可能
        • http://deeeet.com/writing/2014/05/11/docker-network/
          • ホスト側のIPの指定を省略することもできる.この場合,自動でポートが選ばれる. らしいのでポートが被るとか心配しなくてよさそう
      3. ポート番号解決用のアプリで処理できるようにごにょごにょする
    • イメージビルドにはキャッシュを上手く使う(使えるようにする)と時間が短くできるので是非

    • 課題

      • コンテナの破棄がめんどうらしい
        • 例えば毎日0時にリセットする、などすれば解決できる?
        • 確認環境だと割り切れば翌日には使えなくなっても許容されるのではないか

JenkinsとPuppet+ServerspecでインフラCI

  • 割とエモい話
  • jenkins+puppet+serverspec.png
    • つまりはこういうことだと思う
      1. infrastructure as code(Puppet/Chef)
      2. コードにはテストを用意しよう(Serverspec)
      3. コード変更したらテストをCIで回そう(Jenkins)
        • コードの適用先が必要になるので、そこは何とかする必要がある
        • Dockerとか使えれば難しくはないはず
      4. 以上!

おまけ

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