1

私は調査しました: Travis CI、Circle CI、Drone.io ですが、それらはすべて github からプルしたいようです。ただし、dockerhub を github からプルして、docker イメージを適切にビルドしています。

Jenkins も調べたところ、dockerhub からプルできるプラグインがあるようですが、まだ使い方がわかりません。続けますが、Jenkins の問題は、自分でホストする必要があることです。

Docker Hub からプルし、イメージでテストを実行し、Web UI にテスト結果を表示し、Docker Hub にコールバックして何が起こったかを知らせることができる CI サービスを探しています。テストが失敗した場合、dockerhub は webhook を発行してプッシュしません。生産へ。

私が説明したようなことを知っている人はいますか?どうもありがとうございました!

==更新== 私はすべての CI オプションの調査を続けています。2 つの傾向に気付きました。

  1. 古い仮想化ソリューションを Docker に置き換えます。たとえば、Travis CI here . たとえば、Docker をコンテナとして使用して最初からテストを実行する Drone.io については、こちらを参照してください。ただし、それらの内部でコンテナーの別のレイヤーを実行することはできなくなったと思います。テストを実行するだけです。また、docker イメージをビルドすることもできないと思います。
  2. 古い仮想化ソリューションで Docker CLI をサポートするようにすると、Docker イメージをビルドし、そのイメージをレジストリにデプロイし、Docker コンテナー ( CircleCIなど) 内でテストを実行することもできます。

2 私見は私にとって 1 よりも優れています。1&2が合体できればカッコイイ。ただし、どちらのソリューションもソース コードから開始し、「ビルド」を行いたいと考えています。DockerHub からプルする機能はありません。また、docker コンテナー内でのテストのサポートがどれほど優れているかはわかりません。私はまだ実験中です。

4

4 に答える 4

1

これには Shippable を使用できます - www.shippable.com

Dockerbuild と同様に、Docker ハブからのプルがサポートされています。また、次のワークフローを有効にすることもできます - Docker Hub からイメージをプル -> github からコードをプル -> コンテナー内のコードをテスト -> CI がパスした場合、コンテナーを Docker Hub にプッシュします。 http://blog.shippable.com/make-deployments-even-easier-with-docker-build

于 2015-04-14T05:18:32.537 に答える
1

「シェルの実行」コマンドを使用してJenkinsでこれを実行しますdocker pull。セットアップは簡単です。Jenkins をdockerグループに入れるだけです。

Fig を使用している場合 (まだ問題があるかどうかを確認するために docker-compose に変換していません)、次のようなものを実行する必要があります。

/usr/local/bin/python3.4 -c 'import pty, sys; sys.exit(pty.spawn(sys.argv[1:]) != 0)' fig run my_container ./bin/test

Fig を実行するには TTY が必要だからです。

Docker Hub から Jenkins をトリガーするように Web フックをセットアップすることもできますが、私なら単に遅延パスを使用して、定期的にビルドするか、Hub と同じ Git の変更でトリガーしますが、30 分の遅延があります。


編集:私は自分の Jenkins を実行するのではなく、これを行うためのホストされたソリューション (Travis など) を探していましたが、何も見つかりませんでした。主な問題は、CI プロバイダーが 1 台のマシンで多くの顧客をホストすることで利益を得ていることだと思います。しかし、誰かが任意の Docker コンテナを実行できるようにすることは、セキュリティ上の大きな問題です。

于 2015-03-02T13:32:47.163 に答える
0

Codeship はこの機能を「パブリック」ベータ テストで提供しており (試してみたい場合は、ベータに参加するように依頼できます)、この機能は夏の終わりに利用可能になると述べています。

于 2015-07-21T16:40:23.527 に答える