web-dev-qa-db-ja.com

コミットせずにTravis-CIの再構築を開始しますか

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

ユースケース:外部性のためにビルドが失敗します。情報源は実際に正しいです。単に再実行すれば問題なく動作します。

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

Travis-CIをナッジして別のビルドを実行する方法はありますか(「ダミー」コミットをプッシュする以外に)?

374
  • リポジトリへの書き込み権限がある場合:ビルドの詳細画面には、のボタンがありますツールチップ "Build Build".

    :Ghosteryのようなブラウザ拡張機能は再起動ボタンが表示されないようにするかもしれません。拡張機能またはホワイトリストのTravis CIを無効にしてみてください。

    注2.travis.ymlの設定が上流で変更された場合、再構築ボタンをクリックすると古い設定でtravisが起動します。 travis設定にアップストリームの変更を適用するには、PRにcommitを追加するか、PRをクローズ/オープンし直す必要があります。

  • プルリクエストを送信した場合:PRを クローズしてから再度オープンすることができます 。これは新しいビルドを引き起こします。

ButtonPicutre

421
jbtule

GitHubでリポジトリのSettingsタブを開いた場合は、Integrations&servicesをクリックしてくださいTravis CIをクリックし、編集をクリックすると、Test Serviceと表示されます/ボタンこれはビルドを引き起こします。

201
Aaron Hill

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

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

最後にリベースしてスカッシュを削除したり、空のコミットを削除したり、すべてのgitフックで機能します。

71
jasonmit

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

  1. 何も変更せずにgit commit --amend --no-editを実行します。これは現在のブランチの最後のコミットを再作成します。
  2. git Push --force-with-lease Origin pr-branch
24
Vlad Frolov

Travisにログインしてビルドページに行きます。歯車アイコンの横にある右上隅に「再構築」ボタンが表示されます。

screengrab

注:これを機能させるには、リンクされたGitHubリポジトリへの書き込みアクセス権が必要です。

23
Juan

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

  1. travis CIの設定でテストを有効にする
  2. gitHubでプロジェクトページを開く
  3. 設定を開く - >ウェブフックとサービス
  4. サービスでTravis CIを見つけ、編集ボタンを押します
  5. 「テストサービス」を押す
20
lampslave

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"
 }
13
Sam Brightman

Travisは現在、Web UIから「カスタム」ビルドをトリガーする方法を提供しています。プロジェクトのページ上部の右側にある[その他のオプション]メニューボタンを探します。

More Options → Trigger Build

ブランチを選択して設定をカスタマイズできるダイアログボックスが表示されます。

Custom Build Dialog Box

これを書いている時点では、これはベータ版で、わずかにバグがあるように見えます(ただし、問題はすぐに解決されるでしょう)。

8
iconoclast

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

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

Travis CI Client

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

8
Greg Bray

ここで、Web上で新しいビルドをトリガーする手段が得られたことに言及してください。詳細については https://blog.travis-ci.com/2017-08-24-trigger-custom-build を参照してください。

TL; DR "More options"をクリックして "Trigger build"を選択してください。

4
banzaiman

ビルドが一度も行われなかった場合(おそらくPull-Requestビルドスイッチが間に合わなかった場合)、GithubのPull Requestをclosedとマークしてからopenとマークすると新しいビルドがトリガーされます。

3
viperguynaz

ここで「ブランチの更新」をクリックしてプルリクエストのテストを再実行するようにしました。 github check tests component

1
Frazer Kirkman

これは私がDependabotがオープンしたが、.travis.ymlのエラーのために失敗したPRの再構築を引き起こすのに役立ったものです:

  1. PRを閉じる
  2. Dependabotがコメントするのを待ちます(「このリリースについては再度通知しませんが、新しいバージョンが入手可能になったときに連絡します」)。その枝を削除します。
  3. Dependabotが削除したブランチを復元します(dependabot/cargo/tempfile-3.0.4のようなもの)。
  4. PRをもう一度開く
0
grooveplex