<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Ci on akky@サイボウズラボ・ブログ</title>
		<link>https://labs.cybozu.co.jp/blog/akky/tags/ci/</link>
		<description>Recent content in Ci on akky@サイボウズラボ・ブログ</description>
		<generator>Hugo</generator>
		<language>ja</language>
		
		
		
		
			<lastBuildDate>Mon, 31 May 2021 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://labs.cybozu.co.jp/blog/akky/tags/ci/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Curl プロジェクトが Travis-CI 無料枠を外されそうだとして対応を開始</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2021/05/travis-ci-may-deprive-curl-of-free-tier/</link>
				<pubDate>Mon, 31 May 2021 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2021/05/travis-ci-may-deprive-curl-of-free-tier/</guid>
				<description>&lt;p&gt;URL転送ライブラリとそのコマンドラインツールとして有名な &lt;a href=&#34;https://curl.se/&#34;&gt;Curl プロジェクト&lt;/a&gt;の GitHub issues で、&lt;a href=&#34;https://github.com/curl/curl/issues/7150&#34;&gt;travis-ci の無料枠が使えなくなる(travis-ci shuts down the free tier for us)&lt;/a&gt;というチケットが上がっています。&lt;/p&gt;&#xA;&lt;p&gt;有名CIサービスである &lt;a href=&#34;https://www.travis-ci.com/&#34;&gt;travis-ci&lt;/a&gt; にはオープンソースをサポートする無料枠があり、GitHub 上の多くの OSS プロジェクトで travis-ci が利用されているのもそれによるものです。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2021/05/travis-ci-may-deprive-curl-of-free-tier/travis-ci-deprived-curl-of-free-tier.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2021/05/travis-ci-may-deprive-curl-of-free-tier/travis-ci-deprived-curl-of-free-tier_hu_d5525e4050d0a8bb.webp 480w, https://labs.cybozu.co.jp/blog/akky/2021/05/travis-ci-may-deprive-curl-of-free-tier/travis-ci-deprived-curl-of-free-tier_hu_86ed5ad6f2ff8431.webp 723w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2021/05/travis-ci-may-deprive-curl-of-free-tier/travis-ci-deprived-curl-of-free-tier.png&#34; width=&#34;723&#34; height=&#34;812&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;curlプロジェクトでも &lt;a href=&#34;https://travis-ci.org/github/curl/curl&#34;&gt;2013 年から travis-ci で CI を回しており&lt;/a&gt;、現在は33個のジョブが走っているそう。今年の3月までは、特別にCPUブーストもしてもらえていたということですが、このブーストは予告なしに止まっていたそう。&lt;/p&gt;&#xA;&lt;p&gt;travis.ci は今 &lt;a href=&#34;https://travis-ci.org/&#34;&gt;travis-ci.org&lt;/a&gt; から &lt;a href=&#34;https://travis-ci.com/&#34;&gt;travis-ci.com&lt;/a&gt; へのドメイン移行を進めているのですが、この移転でオープンソース無料枠を再度申請したいが、他のプロジェクトに対するメールでの返答にあった「無料枠を使える条件」が引っ掛かりそうだ、とCurl作者のダニエル・ステンバーグ氏(Daniel Stenberg)が述べています。&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;申請者はプロジェクトのリードかレギュラー貢献者である&lt;/li&gt;&#xA;&lt;li&gt;プロジェクトは3か月以上の歴史を持ちアクティブである&lt;/li&gt;&#xA;&lt;li&gt;プロジェクトは&lt;a href=&#34;https://opensource.jp/osd/&#34;&gt;オープンソースの定義(OSD)&lt;/a&gt;に合致する&lt;/li&gt;&#xA;&lt;li&gt;プロジェクトは営利企業や組織にスポンサードされていない&lt;/li&gt;&#xA;&lt;li&gt;プロジェクトは有料サービスやソフトウェアの有料版の配布をしていない&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;ステンバーグ氏は&lt;a href=&#34;https://www.wolfssl.com/&#34;&gt;wolfSSL&lt;/a&gt;社に属し、勤務時間中にCurl プロジェクトの管理やサポートをしてよいことになっているのですが、これが上記の5つの4番目にどうしても抵触してしまうだろうということ。&lt;/p&gt;&#xA;&lt;blockquote class=&#34;twitter-tweet&#34;&gt;&lt;p lang=&#34;en&#34; dir=&#34;ltr&#34;&gt;According to &lt;a href=&#34;https://x.com/travisci?ref_src=twsrc%5Etfw&#34;&gt;@travisci&lt;/a&gt;&amp;#39;s new rules, we&amp;#39;re not legible for the open source free tier if anyone in the project gets paid to work on it...&lt;br&gt;&lt;br&gt;Thanks a lot.&lt;/p&gt;</description>
			</item>
			<item>
				<title>CircleCI や TravisCI などの CI サービスの無料枠を食いつぶす暗号通貨採掘者</title>
				<link>https://labs.cybozu.co.jp/blog/akky/2021/04/crypto-miners-eat-up-free-tier-of-ci-services/</link>
				<pubDate>Mon, 26 Apr 2021 00:00:00 +0000</pubDate>
				<guid>https://labs.cybozu.co.jp/blog/akky/2021/04/crypto-miners-eat-up-free-tier-of-ci-services/</guid>
				<description>&lt;p&gt;CIサービス(Continuous Integration = 継続的インテグレーション)の &lt;a href=&#34;https://layerci.com/&#34;&gt;LayerCI&lt;/a&gt; の CEO が&lt;a href=&#34;https://layerci.com/blog/crypto-miners-are-killing-free-ci/&#34;&gt;ブログで指摘した&lt;/a&gt;のが、LayerCI やその競合である GitLab, GitHub Actions, TravisCI, CircleCI, Wrecker などのサービスの無料枠を悪用した暗号通貨マイナー(miner = 採掘者)の実例です。&lt;/p&gt;&#xA;&lt;h3 id=&#34;ciサービスの無料枠&#34;&gt;CIサービスの無料枠&lt;/h3&gt;&#xA;&lt;p&gt;CIサービスでは、GitHub や BitBucket などのソースコード管理サービスでコードの変更がある度に、自動的にテストセットを実施し、ソフトウェアが壊れていないかを確認してくれます。CIサービスはこれらのテストを実施するためのコンピューター資源を大量に確保・実行しています。&lt;/p&gt;&#xA;&lt;p&gt;多数のプロジェクトを持つ企業は毎月の使用料を払ってこれらCIサービスを利用しますが、普及宣伝のために個人開発者やスタートアップ企業、オープンソース開発者向けに少量のサービスを無料で提供する、いわゆるフリーミアムという仕組みも各社が活用してきました。&lt;/p&gt;&#xA;&lt;h3 id=&#34;悪用者のリポジトリ&#34;&gt;悪用者のリポジトリ&lt;/h3&gt;&#xA;&lt;p&gt;悪用の実例として出された GitHub 上のリポジトリが &lt;a href=&#34;https://github.com/testronan/MyFirstRepository-Flask&#34;&gt;testronan/MyFirstRepository-Flask&lt;/a&gt; 。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2021/04/crypto-miners-eat-up-free-tier-of-ci-services/free-ci-using-crypt-miner-repository-screenshot.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2021/04/crypto-miners-eat-up-free-tier-of-ci-services/free-ci-using-crypt-miner-repository-screenshot_hu_cd1c3c0233c223b6.webp 480w, https://labs.cybozu.co.jp/blog/akky/2021/04/crypto-miners-eat-up-free-tier-of-ci-services/free-ci-using-crypt-miner-repository-screenshot_hu_6bcf615cfad78fbd.webp 768w, https://labs.cybozu.co.jp/blog/akky/2021/04/crypto-miners-eat-up-free-tier-of-ci-services/free-ci-using-crypt-miner-repository-screenshot_hu_91d96c23b4db8791.webp 1041w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2021/04/crypto-miners-eat-up-free-tier-of-ci-services/free-ci-using-crypt-miner-repository-screenshot.png&#34; width=&#34;1041&#34; height=&#34;879&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;CircleCI, GitHub Actions, TravisCI, Wrecker, LayerCI の5サービス用の定義ファイルが置いてありますね。一つのプロジェクトに5つの異なるCI定義。一つのプロジェクトに対してコードのテストをする競合サービスをここまで同時に使う必要は、普通はないかと思います。&lt;/p&gt;&#xA;&lt;p&gt;リポジトリ名に Flask と入っていますが、コードの中身に webサービスである Flask に関するものは見当たりません。&lt;/p&gt;&#xA;&lt;p&gt;GitHub Actions は cron 的に動き、一定時間ごとにコミットを行います。すると、コミットによって他の4つのCIサービスが起動するのでしょう。CircleCI 上で実施されている様子は&lt;a href=&#34;https://app.circleci.com/pipelines/github/testronan/MyFirstRepository-Flask&#34;&gt;パブリックに見ることができています&lt;/a&gt;。一時間おきに実行されていますね。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://labs.cybozu.co.jp/blog/akky/2021/04/crypto-miners-eat-up-free-tier-of-ci-services/free-ci-using-crypt-miner-on-circleci-screenshot.png&#34;&gt;&lt;picture&gt;&#xA;  &lt;source type=&#34;image/webp&#34; srcset=&#34;https://labs.cybozu.co.jp/blog/akky/2021/04/crypto-miners-eat-up-free-tier-of-ci-services/free-ci-using-crypt-miner-on-circleci-screenshot_hu_68395bd136f453b.webp 480w, https://labs.cybozu.co.jp/blog/akky/2021/04/crypto-miners-eat-up-free-tier-of-ci-services/free-ci-using-crypt-miner-on-circleci-screenshot_hu_99d2aa57892fe9c3.webp 768w, https://labs.cybozu.co.jp/blog/akky/2021/04/crypto-miners-eat-up-free-tier-of-ci-services/free-ci-using-crypt-miner-on-circleci-screenshot_hu_94be797e4e3ad21b.webp 1217w&#34; sizes=&#34;(max-width: 56rem) 100vw, 54rem&#34;&gt;&#xA;  &lt;img src=&#34;https://labs.cybozu.co.jp/blog/akky/2021/04/crypto-miners-eat-up-free-tier-of-ci-services/free-ci-using-crypt-miner-on-circleci-screenshot.png&#34; width=&#34;1217&#34; height=&#34;872&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/picture&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;CIサービスの上では GitHub からのソースコードを取得し、いくつかのシェルスクリプトを噛ませ、いろいろな(たぶんマイニングに必要な)ライブラリをインストールして、&lt;a href=&#34;https://webdollar.io/&#34;&gt;WebDollar&lt;/a&gt;をマイニングする Node.js のスクリプトを実行し、採掘した暗号通貨は最終的にはインターネット上の2か所のウォレットに送り付けているそうです。&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
