[解決済み] travis-ciをローカルで実行する方法
質問
プロジェクトに参加したばかりで、travis-ciは初めてです。 私はむしろ、小さな変更をいちいち
.travis.yml
と、ビルドを実行するためにソースに加えた小さな変更のたびに、ビルドを実行します。 jenkinsを使えば、jenkinsをダウンロードしてローカルで実行することができます。 travisはこのようなものを提供していますか?
注:travis-ci cliを見かけたのでダウンロードしたのですが、これだけでは はAPIを呼び出し、そのAPIが私のGitHubリポジトリに接続されます。 プッシュしなければ、前回のビルドを再開しても問題ないでしょう。
どのように解決するのですか?
このプロセスにより、あなたのコンピュータであらゆるTravisのビルドジョブを完全に再現することができます。また、いつでも処理を中断してデバッグすることができます。以下は、以下の結果を完全に再現した例です。 php-school/cli-menuのジョブ#191.1 .
前提条件
- GitHubに公開レポがあること
- Travisで少なくとも1回ビルドを実行した
- Dockerをお持ちの方 をコンピュータにセットアップする
ビルド環境の構築
参考にしてください。 https://docs.travis-ci.com/user/common-build-problems/
-
仮のビルドIDを作成する
BUILDID="build-$RANDOM"
-
表示 ビルドログ そして、WORKER INFORMATION の show more ボタンを開いて INSTANCE 行を探し、ここにペーストして実行します(コロンの後のタグを置き換えてください)。 を最新のものに変更します) :
INSTANCE="travisci/ci-garnet:packer-1512502276-986baf0"
-
ヘッドレスサーバーの実行
docker run --name $BUILDID -dit $INSTANCE /sbin/init
-
添付のクライアントを実行する
docker exec -it $BUILDID bash -l
ジョブの実行
これで、Travisの環境内に入りました。実行
su - travis
をクリックして開始します。
このステップはよく定義されていますが、より面倒で手動です。Travisが実行するすべてのコマンドを環境から見つけます。これを行うには、右の列で次のようなタグがあるものをすべて探します。 0.03s .
左側には、実際のコマンドが表示されます。これらのコマンドを順番に実行してください。
結果
今なら
history
コマンドを使用します。プロセスを再起動し、これらのコマンドを再生すれば、更新されたコードベースに対して同じテストを実行することができます。
-
レポが非公開の場合
ssh-keygen -t rsa -b 4096 -C "YOUR EMAIL REGISTERED IN GITHUB"
ではcat ~/.ssh/id_rsa.pub
そして ここをクリック をクリックしてキーを追加します。 -
参考:あなたは
git pull
GitHub にプッシュする前に、Docker 内から開発用ボックスのコミットをロードすることができます。 -
もしTravisが実行するコマンドを変更したい場合は、あなたの責任において、そのコマンドをどのように動作する
.travis.yml
. - Docker環境のクリーンアップの仕方がわからない、複雑そう、メモリリークしそう
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン