ここでは、CircleCI を使用して、Amazon Elastic Container Registry (ECR) から Amazon Elastic Container Service (ECS) にデプロイする方法を説明します。 このページの内容は古い情報です。 CircleCI では、新しく更新されたサンプルプロジェクトを作成しています。 このページの情報は現在も有効ですが、サンプルプロジェクトは置き換えられる予定です。
概要 個人でAndroidアプリを作ってる中でビルドやリリース作業を自動化したいなと思いました。 色々調べたところ、CircleCI、fastlane、DeployGateを使えばできそうなことがわかったので、 まとめてみようと思いました。 今回参考にするAndroidアプリのソースは下記においてあります。 (パスやAPIキーはprivateリポジトリに隠してあります。) https://github.com/naoto0822/miita-android 目標 ・「Githubで特定のbranchにpushしたらリリース or Beta配布」 そのために下記を順を追って実現します。 コマンド一発でDeploygateアップロード コマンド一発でGoogle Play Storeにアップロード CircleCIでビルド gradleの細かい設定については今回は触れません。 assemble
静的HTML公開フローをサーバレスでDevOps!(Github,CircleCI,AWS S3) 前編GitHubAWSS3CircleCI コーポレートサイトなどの静的サイトを、Github+CircleCi+S3webhostingでサーバレスDevOpsを実現。 主な利点 ・Github操作のみでデプロイを自動化。 ・サーバレスなのでサーバ運用不要。 ・ステージングサイトには閲覧制限(許可IP制)を設けることで、外部会社との連携も安全。 構築内容 AWS S3 webhosting構築 Githubリポジトリ作成 静的ページを用意 HTML+CSS(bootstrap) CircleCIでのオートデプロイ オートデプロイテスト +αでフォームサイトはlambda,cognitoで実装 6は後編で掲載予定。 想定フロー 各自ローカル環境でHTML編集。Githubで管理。 stagi
Update: Current Documentation for 2.0 is available here: https://circleci.com/docs/2.0/ CircleCI 2.0 Deployments This doc assumes that you have already read the overview and configuring docs for CircleCI 2.0. Deployments in CircleCI 2.0 are now considered “special steps” instead of stages. One common pattern you might use is grouping deploy steps with the same environment in a deployment stage. Fo
CircleCIからEC2上に構築しているサーバにデプロイする方法です 前提 ローカルなどからcapistranoでデプロイできる状態 準備 セキュリティグループ SSHをセキュリティグループで制限している場合、CircleCI上からのアクセスを許可しなくてはなりません VPC VPCでは他セキュリティグループからの許可ができません CircleCIはEC2 US East region上に構築されているのでそのIPを全部許可すればよいのですが現実的ではありません(よね?) AWS CLIを使ってビルドの開始時にコンテナのIPをSSH許可して、終了時にSSH許可を取り消す事で対応します SSH許可 aws ec2 authorize-security-group-ingress --group-id $MYSECURITYGROUP --protocol tcp --port 22 --c
概要 もう随分と前に TravisCI から CircleCI へ乗り換えたのですが、いかんせん、便利な CircleCI をもってしても Android のプロジェクトのビルド時間は長くなり続け、ついに 1 回のビルドに 20 分を費やすほどにまで成長してしまいました。いくつか無駄を省いたり、キャッシュをしてみたりと言った策を講じたものの、目立った改善が得られませんでした。そこで CircleCI を脱却してみることにしました。現在、CircleCI を脱却し Wercker を利用することで 1 回のビルドが 5 分ほどで終わるようになりました。この記事には、何がどのようにして短時間で済むようになったかを書き記してあります。 問題の根源 そもそも CircleCI で時間がかかっている部分はどこかというところから見ていきます。現在のプロジェクトで使用している分には、以下に上げる部分でか
2015-02-04 CircleCIでDockerイメージをキャッシュするのに、実はちょっとした工夫が必要な件 CircleCI Docker 2月ですね。 さて、CircleCIにはcache_directoriesという機能があって、前回のビルドでダウンロードしたり生成したりするもので時間的コストのかかるものをキャッシュしておいて、次回以降のビルドでコンテナにリストアできます。 例えば、MavenでJarを大量にダウンロードしてきて出来上がったローカルリポジトリ等ですね。ちなみに.m2や.ivy等はデフォルトでキャッシュされます。 Dockerイメージのキャッシュ ライブラリの他に、時間的コストとなるものの代表というとやはりDockerイメージなんですけど、実はこれをcache_directoriesの機能を使ってイメージの場所を指定してもビルドの時間は短縮できません。 実はCirc
前回、「Dockerコンテナにcookしserverspecでテストをする」ということをやりました。 キャッシュ活用などによる高速化などが課題でした。今回はいくつかの課題を解決させ、テスト時間の短縮を図りました。 (「スピードアップテク」とか書きましたが、勝手に自分がハマってたところを改善したりしてるだけの箇所もあります。) 先に結論:対策後のビルド時間 対策前(build#9) docker imageキャッシュ有効時(build#55) docker imageキャッシュ無効時(build#54) load docker image 1m41s 0m20s 1m00s knife solo cook(nginxのインストール) 2m56s 0m12s 0m21s (other) (1m03s) (0m41s) (1m06s) TOTAL 5m40s 1m13s(!!!!!) 2m27s
2015-03-31 CircleCIアンチパターン 2015春 CI CircleCI Docker 今日はCircleCIで気持ちよくCIを回すために、抑えておいた方が良いアンチパターンについて書きます。わりと基本的な話なので、心当たりがあれば見直してみると良いと思います。 Fat Repository Anti Pattern(巨大なリポジトリ) CircleCIのコンテナは使い捨てですが、対象のリポジトリを毎回cloneするのではなくて、2回目移行は前回のCI時にキャッシュしておいたリポジトリを利用することで差分取得を実現しています。 checkoutフェーズのRestore source cacheのことですね。 この手法によって最新取得のコストを大幅に低減することができますが、コンテナ初期化時にS3からリポジトリのアーカイブを取得するという特性上、あまりにも巨大な数GB超えのリ
追記: 実際に運用するときはライセンス問題にご注意ください: 公開用DockerイメージにAndroid SDKを含めるのはライセンス違反という話 - Islands in the byte stream 私は個人プロジェクトでもそれなりの規模になるときは、プルリクエストベースで機能開発してCIが通ってからマージするというスタイルをとる事が多いです。 そこでCIサービスの完了時間を短くしたいのですが、Androidプロジェクトの場合ふつうにDockerによる実行だおと7~10分くらい掛かってしまい、気持よく開発できません。そこでちょっとチューニングしてみました。といっても先人がいるのでほぼそれをなぞっただけです。 細かすぎて伝わらないかもしれない、CircleCIでDockerをごにょごにょするときのスピードアップテク - パラボラアンテナと星の日記 このエントリのうち、Androidプロ
この記事は AWS Advent Calendar 2015 - Qiita の 3 日目の記事です。昨日は “AWS CodeDeploy と CircleCI で Docker コンテナを自動デプロイ” という記事を書きましたが、それに引き続き AWS CodeDeploy ネタです。 Fabric や Capistrano などのデプロイツールを利用していると、AutoScaling によって起動してくるインスタンスへのアプリケーションのデプロイをどうするかというのは悩みの種ですが、 AWS CodeDeploy を利用すると、最後にデプロイに成功したリビジョンを起動時にデプロイしてくれるので非常に助かります。その一方で、 AutoScaling と連携して使うときに気をつけておくべきいいポイントがいくつかあるので、それについて書きます。 1. User Data でのプロビジョニン
この記事は CircleCI Advent Calendar 2015 - Qiita の 2 日目の記事です。ちなみに 1 日目は @stormcat24 さんによる”CircleCIでサクッとビルドチェーンを実現する”お話でした。 というわけで、2 日目は、SmartNews’s Journey into Microservices という LT をしてきました のスライドで少しだけ触れている、Docker コンテナを AWS CodeDeploy + CircleCI でデプロイする話について、簡単に説明しようと思います。 背景 僕が所属しているスマートニュースという会社では、Java でアプリケーションが書かれていることが多いため、JAR/WAR を持ってきて実行するようなことを CodeDeploy を使った Pull 型デプロイでやっています。一方で、一部のアプリケーションは依
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く