Product featuresCodemagic CI/CD integrates with Azure DevOps, GitHub, GitLab, Bitbucket, and other self-hosted or cloud-based Git repositories. You push the code – and Codemagic takes care of building, testing, and distributing your app.
ROUTE06 でソフトウェアエンジニアをしている @MH4GF です。 GitHub のマージキュー(Merge Queue)を私のチームでの開発フローに取り入れてから数ヶ月経ちました。マージキューは非常に便利ですが、挙動の理解やセットアップに難しさがあると感じています。いくつかの課題の対処ができ安定した運用ができてきたので、この記事ではセットアップでつまづきがちな点を紹介します。 マージキューとは マージキューは 2023 年 7 月に一般公開された比較的新しい機能で、簡単に説明すると「プルリクエストのマージ前にマージ先ブランチを取り込んだ上で CI を実行し、通ることを確認してからマージする」機能です。 複数人で GitHub を利用した開発をしていると、main ブランチの取り込み漏れにより「プルリクエストでの CI は通るものの、マージ後の main ブランチの CI は失敗する
この記事は 10X アドベントカレンダー2023 という企画の1日目(12/1)の記事です。 こんにちは、10Xでソフトウェアエンジニアをしている 岡野(@operandoOS)です。 今回 10Xで3回目となるアドベントカレンダー企画の1日目をありがたく担当させていただきます💪 目次 目次 10X アドベントカレンダー2023ってなに? さてさて、本題へ CIは絶対に速い方がいい CIを高速化するテクニックの紹介 キャッシュの利用 マシン性能の調整 ジョブの並列実行とテスト分割 最適なテスト分割 ジョブの実行順序・依存関係の最適化 不要なジョブ・ステップを削除する テストコードの実行速度を上げる 紹介したテクニックを活用した10XでのCI高速化事例 アプリのビルド時間の大幅短縮に成功!! APIのテスト実行時間の大幅短縮に成功!! CIを高速化するために日々取り組んでいること CI/C
GitHub Actionsでactions/setup-nodeだけでnode_modulesをキャッシュできるのか試してみた こんにちは、CX事業本部 IoT事業部の若槻です。 GitHub Actionsでは、CI/CDでよく使われる処理がActionsとして公開されており、Workflow内で自由に使うことができます。 GitHub Marketplace · Actions to improve your workflow 今回は、actions/setup-nodeを使用してWorkflowの実行時にnode_modulesをキャッシュできるのか試してみました。 actions/setup-nodeとは actions/setup-nodeを使用すると、指定したバージョンのNode.js distributionのダウンロードおよびキャッシュをしたり、npm/yarn/pnpm
We use Golang (go) at Airplane and run all of our unit tests through a CI on each change in our monorepo. These tests were very slow, but we were able to use go test caching to speed them up by an order-of-magnitude (from minutes to seconds in many cases!). In the remainder of this post, we provide a high-level overview of how Golang test caching works and then describe how we adapted our CI workf
PFNの柏原です。Go言語製のソフトウェアのCI(Continuous Integration, 継続的インテグレーション)環境の構築方法(導入方法)について解説します。想定としてはgithub上にホストしているOSSプロジェクトのソースツリーをCIの対象とします。OSSのpublicリポジトリなため、無料で使えるサービスを利用対象とします。 紹介する各CIサービスすべてでGo言語を扱えますが、まず最初にサービスを利用する上で各サービスについて結論から述べます。その後、各CI環境(OS、Goバージョン)、設定ファイルの例を説明します。 今回はTravis CI、CircleCI、Codeship、AppVeyor の4つのサービスを紹介します。 結論から 結論から書きますと、Linux, OS X, Windowsの各種OSプラットフォームで同時にCIを動かしたいなら、Travis CI(
Werckerの仕組み,独自のboxとstepのつくりかた WerckerはTravisCIやDrone.ioのようなCI-as-a-Serviceのひとつ.GitHubへのコードのPushをフックしてアプリケーションのテスト,ビルド,デプロイを行うことができる. Werckerは,TravisCIのように,レポジトリのルートにwercker.ymlを準備し,そこに記述された実行環境と実行コマンドをもとにテスト/ビルドを走らせる. Werckerには,その実行環境をbox,実行コマンド(の集合)をstepとして自作し,あらかじめWercker Directoryに登録しておくことで,様々なテストからそれらを呼び出して使うという仕組みがある.実際,Werkcerで標準とされているboxやstepも同様の仕組みで作成されている(wercker · GitHub). 今回,WerkcerでのGo
VAddy integrates with your existing CI tools and performs robust security checks — so your developers can code secure. How secure is your code? VAddy gives you insight into the security of your web apps — and easily hooks into your standard deployment process. Help your developers code securely With VAddy, there’s no need for your developers to be security experts. Easily discover vulnerabilities,
プルリクエストのレビュー時に 「規約では1行あたり最大80文字なので、1文字削ってください」 などと一々指摘していると人間関係が破綻する可能性があります。 こういう定量的なものに関してはロボットに任せるのが一番です。 そこでHoundCIを使いましょう。 これはRubocopにリポジトリを監視させるというコンセプトのサービスです。 HoundCIを使うメリット コーディング規約違反のコードがmasterに入る前に必ず検知できる チームメンバー全員でRubycopを使う必要がない ダルいコーディング規約に関する議論が可視化できる 人間関係が壊れない(重要) 気軽にみんなでRubocopを使える Rubocopをsyntasticを使ってVimから自動実行する Rubocopを使ってコーディングルールへの準拠チェックを自動化 Qiitaの上のような記事を読んでから、暇があったら導入しようと思っ
年末にDocker触ってて、これをうまく活かせば、副作用を無視した使い捨てのテスト環境が作れるんじゃねーかな、という意識が高まったのですが、手を付けられずにうにゃうにゃしてました。 そうこうする内に yahooのデベロッパーの方からJenkins with Dockerというタイトルの発表があり、ほぼ僕のやりたい事のベースができていたので、これをforkして、travis.yml parserや若干のバグフィックスを入れてもう少しだけTravisに近づけてみました。 ちなみにこれは 社内 Immutable Infrastructure ハッカソンした時の成果物です。 Immutable Infrastructure Hackathon at :D を開催したら、configspec の敷居が高いのでコミッタになっていました - sonots:blog 今回の成果物に関して、詳しくはここを
Automate Software Build and Testing Drone is a self-service Continuous Integration platform for busy development teams. Configuration as a code Pipelines are configured with a simple, easy‑to‑read file that you commit to your git repository. Each Pipeline step is executed inside an isolated Docker container that is automatically downloaded at runtime. Get started kind: pipeline steps: - name: test
概要 BitbucketはタダでPrivate repositoryをつくれるので、運営しているwebサービスのソースなど公開しちゃうのはちょっと。。。というものを預けるのに便利です。最近はTravis-CIなんかがあって、サーバを立てなくてもCI出来たりしますが、githubしか対応していなくて涙目でした。 今回、CloudBeeを使ってリポジトリからCIまで無料な環境を作ったのでそのまとめです。 アプリケーション構成 細かいものは他にもありますが、テストに関係しそうな構成はだいたいこんな感じ Python (2.7.2) MongoDB web.py nose coverage mongomock pep8 前提条件 ユニットテストの外部依存は面倒で嫌いなので、MongoDBやその他入出力を伴うテストは全てMock化しています。若干バグ(というか機能不足)ありますが、mongomock
Coveralls は Github に置いているソースコードのテストカバレッジを git push の度に調査して報告してくれるクラウドサービス。「カバー率100%を維持したいなら継続的インテグレーション (CI) のレポーティングにテストカバレッジも含めちゃえばいいじゃない」という貴族向けのサービスです。いえ、貴族はフィクションです。 こんな感じでモダンなデザインで色々教えてくれる。各行が何回テストされたかみたいな詳細なレポーティングもある。 Travis CI と同じく Github の README なんかに貼り付けるバッジがあります。というか Travis CI なんかのCIツールと連携して Coveralls にレポートを投げるのが前提になっているようです。 つい最近 プロトタイプ開発用のRailsプラグイン「Chanko」を2.0.0にアップデートしました - クックパッド開
@takehiro に教えて貰ったCircle CIを使ってみるともの凄く良くて、とてもお勧めなので記事を書きました! Circle CIって何? Travis CIと同機能でWebでのUIが若干違うサービスです。 CIとしての仕事はきちんと行えます。 Circle CIの使い方 https://circleci.com/ にアクセスします。 Githubアカウントでサインアップを行います。 画面に従って進むとプロジェクトをfollowする画面が表示されます。 CIしたいプロジェクトをfollow後、"Done Managing Repos"をクリックします。 ここでは"camelmasa/spree"を選択します。 するとfollowしたプロジェクト一覧のテスト結果の画面が表示される様になります。 これでCIが出来る環境が整いました! 後はgithubにpushする毎にCIが実行される様
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く