434

Travis-CI を使用して、新しいコミットを GitHub にプッシュせずに再構築をトリガーすることは可能ですか?

ユースケース: 外部性が原因でビルドが失敗します。ソースは実際には正しいです。単純に再実行すると、正常にビルドされ、合格します。

たとえばapt-get、パッケージ サーバーがダウンしているために失敗しますが、サーバーは再びバックアップされます。ただし、新しいコミットがプッシュされるまで、ビルドステータスは「失敗」で「スタック」します。

「ダミー」コミットをプッシュする以外に、Travis-CI に別のビルドを実行させる方法はありますか?

4

15 に答える 15

209

GitHub でリポジトリの[設定] タブを開き、 [統合とサービス] をクリックし、[ Travis CI ]を見つけて [編集] をクリックすると、[サービスのテスト] ボタンが表示されます。これにより、ビルドがトリガーされます。

于 2013-08-15T12:24:48.543 に答える
91

コミットをプッシュせずに言ったことは知っていますが、マスター以外のブランチで作業している場合に便利なのは、空のコミットをコミットすることです。

git commit --allow-empty -m "Trigger"

最後にリベースしてスカッシュを削除/空のコミットを削除し、すべての git フックで機能することができます:)

于 2015-07-29T07:58:24.453 に答える
36

CI ビルドの再実行やその他のトリガーを強制する別の方法を見つけました。

  1. git commit --amend --no-edit何も変更せずに実行します。これにより、現在のブランチの最後のコミットが再作成されます。
  2. git push --force-with-lease origin pr-branch.
于 2016-04-11T02:07:40.240 に答える
21

GitHub に .travis.yml があるがテストされていない新しいプロジェクトがある場合は、次の方法でコミットせずにテストを実行できます。

  1. Travis CI 設定でのテストを有効にする
  2. GitHub でプロジェクト ページを開く
  3. 設定を開く -> Webhook とサービス
  4. サービスでTravis CIを見つけて、編集ボタンを押します
  5. 「テストサービス」を押します
于 2016-03-02T23:41:00.237 に答える
16

Travis CLIを使用してこれを行うことができます。ドキュメント で説明されているように、最初に CLI ツールをインストールしてから、次の手順を実行します。

travis login --org --auto
travis token

TRAVIS_TOKENこのトークンを保持するファイルがバージョン管理されていない限り、このトークンを環境変数に保持できます。

この関数を使用してトリガーを送信します。

function travis_trigger() {
     local org=$1 && shift
     local repo=$1 && shift
     local branch=${1:-master} && shift

     body="{
             \"request\": {
               \"branch\": \"${branch}\"
              }
           }"

     curl -s -X POST \
          -H "Content-Type: application/json" \
          -H "Accept: application/json" \
          -H "Travis-API-Version: 3" \
          -H "Authorization: token $TRAVIS_TOKEN" \
          -d "$body" \
          "https://api.travis-ci.org/repo/${org}%2F${repo}/requests"
 }
于 2016-10-24T16:33:37.913 に答える
8

Travis CI クライアントをインストールするtravis restart <job#>と、コンソールから手動でビルドを再実行できます。を使用して、ブランチの最後のジョブ番号を見つけることができますtravis show <branch>

travis show master
travis restart 48 #use Job number without .1
travis logs master

Travis CI クライアント

更新:残念ながら、これは最新のコミットを使用して新しいビルドを開始するのではなく、リポジトリの以前の状態を使用して以前のビルドを再開するだけのようです。

于 2015-03-25T01:22:19.080 に答える
4

ビルドが行われなかった場合 (プル リクエスト ビルド スイッチを時間内にオンに設定しなかった可能性があります)、Github でプル リクエストをクローズ済みとしてマークしてから、オープン済みとしてマークすると、新しいビルドがトリガーされます。

于 2014-12-02T22:29:27.403 に答える