July Tech Festa 2020で発表した資料です https://note.com/kooozii/n/nea831df7be6e 動画はこちら https://www.youtube.com/watch?v=wLTWpct9rEo
「Jenkins X」発表。Git/Docker/Kubernetesに特化したことでCI/CD環境の構築運用を自動化 ソフトウェアの開発プロセスにおいて、「Jenkins」はビルドやテスト、デプロイなどを自動化してくれるツールとしてよく知られています。 そのJenkinsの派生プロジェクトとして、「Jenkins X」が発表されました。Jenkins Xは、Git、Docker、Kubernetesの環境を前提とすることで、Jenkinsの設定、運用などを大幅に自動化し、より簡単な導入と運用を実現するものです。 Jenkins Xは、Git/Docker/Kubernetes環境に特化 オリジナルのJenkinsは汎用的なビルドやテストの自動化ツールとして、さまざまな環境やツールと連係できるように作られています。そのため柔軟なコンフィグレーションが可能になっていますが、一方でそれが導入や
ども、藤本です。 現地時間 2017/12/12、CodePipeline のデプロイにて、ECS を選択できるようになり、ECS Service にデプロイできるようになりました。 AWS CodePipeline Adds Support for Amazon ECS and AWS Fargate 早速、試してみました。 概要 AWS CodePipeline は AWS や AWS 以外の SaaS を繋ぎ合わせて継続的デリバリを実現、モニタリングするサービスです。今まで CodePipeline が連携可能なデプロイサービスには CodeDeploy、Beanstalk、CloudFormation、OpsWorks の 4つがありました。ここに ECS が加わりました。ECS へのデプロイには、今までの EC2 上のコンテナにも可能ですし、先日の re:Invent 2017
継続的インテグレーション(CI)ツールとして有名なJenkinsは、ソフトウェア開発におけるテストやビルドと言った作業を自動化するツールだ。本記事ではJenkinsの最新版となるバージョン2系で正式に導入された、パイプライン機能を使ったビルド/テスト環境の構築を紹介する。 CIツールと「Jenkins」 ソフトウェア開発の現場において、そのテストはソフトウェアの設計やコーディングと同じくらい重要な過程である。近年のWebアプリケーションやスマートデバイス向けアプリケーション開発ではアプリケーションのリリース間隔が短くなっている傾向があり、そのためテストもより迅速かつ頻繁に行わなければならくなっている。そういった環境で有用なのが、継続的インテグレーション(CI)ツールだ。 CIは、元々は「ソフトウェアの開発コストを下げるためには開発の初期から頻繁にテストを行ってフィードバックを行うべき」とい
皆様はJenkinsをご存知でしょうか。「Jenkins」(ジェンキンス)は、CI(継続的インテグレーション)ツールとして有名なHudsonが名前を変えて開発し続けられているものです。本稿では、IBMの軽量Javaアプリケーションサーバー「WebSphere Application Server Liberty Core」の無償評価版を使って、JenkinsでJava EEアプリケーションのビルドおよびデプロイを自動化する手順とポイントを具体的に紹介します。 CI(継続的インテグレーション)とは Jenkinsの前に、まず「CI(継続的インテグレーション)」について説明します。 CIとは一言で言えば、日々行っていることで自動化できるものは自動化して素早い開発を行おうということです。例えば、次のようなことを毎日行っていないでしょうか? アプリケーションのビルド、およびサーバーへのアプリケーシ
Jenkins+GradleでJavaのCIのための基本build.gradle設定 (JUnit,PMD,FindBugs,CPD,JaCoCo)JavaJenkinsgradlePMDFindBugs 私的Java開発をJenkinsでCIするためのbuild.gradleとJenkinsの設定です。要不要に応じて書き換えたり足したりが必要です。特にチェックルール。 環境 Java 1.7 Groovy 1.8.6 Ant 1.9.2 Ivy 2.2.0 Gradle 1.11 Mac OS X 10.9.2 全体の流れ Jenkinsに必要なプラグインをインストール GradleでFindBugs, PMD, CPDを実行するようbuild.gradleを作成 Eclipseでは Jenkinsにいれるプラグイン Gradle plugin - jenkins+gradle連携 Fi
継続的インテグレーション(CI)ツールとして有名なJenkinsは、ソフトウェア開発におけるテストやビルドと言った作業を自動化するツールだ。本記事ではJenkinsの最新版となるバージョン2系で正式に導入された、パイプライン機能を使ったビルド/テスト環境の構築を紹介する。 CIツールと「Jenkins」 ソフトウェア開発の現場において、そのテストはソフトウェアの設計やコーディングと同じくらい重要な過程である。近年のWebアプリケーションやスマートデバイス向けアプリケーション開発ではアプリケーションのリリース間隔が短くなっている傾向があり、そのためテストもより迅速かつ頻繁に行わなければならくなっている。そういった環境で有用なのが、継続的インテグレーション(CI)ツールだ。 CIは、元々は「ソフトウェアの開発コストを下げるためには開発の初期から頻繁にテストを行ってフィードバックを行うべき」とい
はじめに AWS 上に Jenkins による Android アプリの CI 環境を構築する機会がありましたので、記録として残しておきます。 Jenkins 単体であれば下記の記事のままで大体OKなのですが、 EC2にJenkinsによるCI環境を作成する | Developers.IO Amazon Linux に Android エミュレータを入れるには色々と難があります。そこで、Android アプリのビルドやテストを行うマシンを Ubuntu を使った、マスター・スレーブ構成の CI 環境を構築してみました。 下図のような構成となる CI 環境を構築します。 マスターマシンの構築 EC2 の起動 次の記事の通り、普通に Amazon Linux のインスタンスを起動します。 EC2にJenkinsによるCI環境を作成する | Developers.IO キーペアはダウンロードして
Docker 社のユースケースでもあげられているように、CI/CD で Docker を使うというのは、プロダクションシステム以外で Docker の特性を活用できる良い場所だと考えています。ヌーラボではBacklog でのプルリクエストの提供以降、CI のジョブの実行のために Docker を利用しています。ここではその運用から学んだ5つの Tips を紹介したいと思います。 ヌーラボの CI 環境の全体図 これがヌーラボの CI 環境の全体図です。 CI には Jenkins を利用しており、Jenkins のジョブのトリガーとなるのは左側の Backlog や Typetalk です。実際には Jenkins Backlog Plugin や Jenkins Typetalk Plugin を利用してジョブを処理しています。これらのプラグインの詳細については本ブログ末に参照先をのせて
はじめに 開発環境の構築や開発支援ツールの導入は、チーム開発には欠かせない工程になりますが、業務アプリケーション開発やテストなどと異なり、プロダクトの機能性や品質を直接的に高めるものではないため、なるべくインフラ構築・運用の作業を省力化したいものです。 また、開発支援ツールの多くは、開発のピーク時は開発メンバーが増員され高負荷となるものの、システムリリース後は保守などでの利用が中心になります。Dockerはコンテナ仮想化技術を使ったアプリケーション実行環境構築/運用プラットフォームです。インフラ環境も含めたアプリケーションの実行環境をすべてまとめて「コンテナ」でパッケージングできます。そこで、Dockerを導入して、開発環境のポータビリティを高めておけば、開発者の利用状況に応じた環境で効率よくインフラを運用できます。 そこで本連載では、アプリケーション開発の現場でよく利用されている次の開発
ここ何日か Circle CI を使ってみて何となく分かってきた事をまとめておきます。 完成した circle.yml だけ欲しい方はこちらをどうぞ。 checkout: post: - chmod +x ./gradlew machine: timezone: Asia/Tokyo environment: GRADLE_OPTS: -Xmx4G -Dorg.gradle.daemon=true JAVA_HOME: /usr/lib/jvm/java-8-oracle post: - sudo service mysql stop - sudo service postgresql stop dependencies: pre: - sudo apt-get install software-properties-common - sudo add-apt-repository -y
はじめに Webメディアの執筆作業に継続的インテグレーション(Continuous Integration)、継続的デリバリー(Continuous Delivery)の考えを取り入れ、GitHub/CircleCIを使って効率化をした話です。最初の環境構築さえしてしまえば、非エンジニアでも問題なくこの仕組みに乗ることが出来ています。これらのツールは発想次第でいろいろな使い方ができるということを、メディアの運営者やエンジニアに限らずいろいろな人に知って頂ければ良いのかなと。 背景 この仕組みは私がWebメディアを運営する会社にて、開発と記事のライティングや編集を同時に経験したことをベースに作り上げました。記事執筆をしていると、書いた記事をどう保管するのか・編集者の修正を執筆者にフィードバックするにはどうするのか・といった課題が出てきます。その問題を解決するため、Github/CircleC
技術部の鈴木 (@eagletmt) です。 先日、クックパッドで使われている Ruby のバージョンを 2.0.0 から 2.2 にアップグレードしました。 アップグレードは主に @sorah と私で進めました。 今回はアップグレードまでの過程やアップグレード当日の流れ、そして今のところ見られているアップグレードによる効果などについて紹介します。 アップグレードまでの準備 テストを通す Ruby 2.1 がリリースされたときから 2.1 にアップグレードできないか検証環境でテストを回していました。 しかし、当時はクックパッドの全テストを実行すると必ず途中で Ruby がクラッシュする現象に悩まされていました。 Ruby の GC のバグ、拡張ライブラリのバグを疑いながら色々やってみたものの結局解決できず、Ruby 2.2 がリリースされてからもこの状況は改善されませんでした。 しかしある
gitで最低限のデプロイ環境を作る際のメモ。 いろいろなCIツールを使うまでもない、小規模なコンパイルいらずのWebアプリのデプロイ環境を作る。 CIツールを使う場合でも基礎となる知識なので整理しておく。 やりたいこと ローカルで開発。 リモートにpush pushを拾って、公開ディレクトリにpull イメージ 図で書くとこんな感じ。 今回は、独自のリモートリポジトリを使うが、ここがGitHubとかでもいい。 前提条件 ローカル、リモートにgitがインストールされていること(Mac想定) リモート(サーバ)にはsshで透過ログインできること 手順 まずは、push,pullの流れを手動でやってみる。 リモートリポジトリの用意(リモート) とりあえず、外からは非公開かつ、チームがアクセスできるディレクトリを用意し、リモートリポジトリにする。
受託開発やっている、いまの開発スタイルを書く。 この前のブログはわりとフォーカスをしぼったはなしだったので、今回は簡単に全体のはなし。(書く順番が逆っぽい) 今回のプロジェクトではアーキテクトとして、この↓開発スタイルの構築と運用をしていて学び多い。 バージョン管理はGit プロジェクト用サーバーにGitBucketをたててソースコードを管理している。 オフショアと仕事をするなど、開発拠点がわかれることが多い。 ソースコードに対してロックをとったりしちゃうと、他の人が開発すすめられなくなるし、拠点別れて並行開発する大規模案件だからこそ、Gitを使う必要がある。 各開発者がブランチをきって開発をして、プルリクでレビュー依頼、からのマージをすることで、レビューが済んでいるソースしかmasterブランチに取り込まれない、というのもイイ。 弊社の”エンジニア”はみんな当たり前のようにGitを使って
2015-07-02 Jenkinsと完全にサヨナラして、CircleCIに移行した話 CI Jenkins CircleCI 長らくCIはJenkinsを利用して開発をしてきて、Hudson時代からご愛顧してきたのですが、この春から新しくスタートしたプロジェクトではJenkinsを利用しないという決断をしました。 Jenkinsとサヨナラした理由 複数プロジェクトで共有して利用するのがツライ うちの会社では共通で用意されたJenkinsがあって(それなりにスペック高くて、slaveもぶら下がってる)、色々なプロジェクトがそれを利用しています。 このケースの問題点は何よりもランタイムやSDKを共有してしまうことにあります。全てのビルドに副作用を与えることなく、ランタイムやSDKを追加・更新するのが簡単ではありません。それを滞りなくやるには事前にどのビルドが何を使っているかを把握したり、利用
今まで Travis CI で設定していた iOS アプリのビルドを CircleCI に変更しました。 ngs/onairlog-ios on CircleCI ngs/onairlog-ios on GitHub 現在、iOS ビルドの機能は Experimental Settings として提供されています。 https://circleci.com/mobile TOC 前準備 依存ライブラリのインストール 鍵と証明書の読み込み プロビジョニングファイルのダウンロード 環境変数のエクスポート テスト実行 デプロイ AdHoc ビルド DeployGate へデプロイ Release ビルド作成 iTunes Connect へデプロイ (WIP) その他 Xcode 6.2 所感 TODOs 参考にしたページ 環境変数 件のアプリのソースコードは、GitHub 上の公開リポジトリで
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く