問題タブ [gitlab-ci-runner]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
2097 参照

continuous-integration - ランナー デプロイ キーを GitLab プロジェクトに追加できませんでした

gitlab CI にプロジェクトを追加した後、次のようになりました。

プロジェクトのビルドを処理するには、少なくとも 1 つのランナーをプロジェクトに割り当てる必要があります。このページにアクセスして、ランナーを割り当てます

リンクされたページ ( /ci/projects/16/runner_projects ) にはプロジェクトにランナーを追加するボタンがありましたが、 を押すとAddエラーが発生しました:

ランナー デプロイ キーを GitLab プロジェクトに追加できませんでした

Gitlab バージョン:

  • GitLab CI 3.2.0 e0c0609
  • ギットラボ 6.2
0 投票する
11 に答える
43677 参照

ssh - GitLab CI でプライベート リポジトリのクローンを作成する

プライベート リポジトリの一部をホストしてテストするために、GitLab と GitLab CI をセットアップしました。このシステムの下にある私の composer モジュールでは、プライベート パッケージを解決するように Satis をセットアップしました。

ssh-add明らかに、これらのプライベート パッケージはクローンを作成するために ssh キーを必要とします。これはターミナルで機能しています。シェルにキーが追加されている限り、composer install を実行してこれらのパッケージを取得できます。

ただし、GitLab CI でテストを実行する場合、プロジェクトにこれらの依存関係のいずれかがある場合、GitLab インスタンスが deps を取得するために認証を必要とするため (明らかに)、テストは完了せず、テストはHost key verification failed.

私の質問は、ランナーがテストを実行するときにパスワードなしで gitlab に認証できるように、これをどのように設定するかです。パスワードなしの ssh-key を runners フォルダーに入れようとしました~/.sshが、ビルドはキーを追加することさえできず、「eval ssh-agent -s」の後に ssh-add が続き、エージェントが実行されていないと言って失敗するようです...

0 投票する
2 に答える
2798 参照

git - GitLab CI - 構成されたジョブを実行していないビルド

GitLab と統合された GitLab CI と、ランナーに推奨されるセカンダリ サーバーを使用しています。すべてが正しく構成されているようです。コミットを検出してビルド ステップを実行し、出力を確認できます。

少なくとも、次のデフォルト ジョブの場合:

2 つのステップだけで 2 つ目のジョブを追加してみました。

を使ってgit cloneいるので、毎回インストールを実行したいです。

ビルドを実行しましたが、最初のジョブが繰り返されただけです。次に、2 番目のジョブを削除し、すべての手順をまとめました。

ただし、ビルドからの出力は、デフォルト ジョブの場合とまったく同じです。このようなもの:

何か案は?ビルド スクリプトを変更して有効にするときに、クリアする必要があるキャッシュやボタンを押す必要があるものはありますか (設定の [変更を保存] を除いて)。

ありがとう。

0 投票する
1 に答える
191 参照

gitlab-ci - gitlab-ci-runner を複製 (および拡張) するか、オムニバス ランナーを使用して docker イメージを呼び出す

コンテキスト: 必要な環境を備えた docker イメージ内で R パッケージをテストし、さらに他のパッケージを (docker イメージに提供された ssh-keys を使用して gitlab リポジトリから) 取り込みます。

gitlab-ci-runner は Docker ベースであるため、2 つの可能性が考えられます。

  1. 既存の gitlab-ci-runner のクローンを作成します (例:これですが、wheezy ベースが必要なため、ゼロから作成する可能性が高くなります)。次に、このクローンを必要な R 環境で拡張します。Jobs -> Script のテストコマンドは簡単です。

  2. 標準のオムニバス gitlab-ci-runner インストールを使用し、ジョブ -> スクリプトで (ネストされた) Docker イメージを呼び出します。もう少し複雑ですが、完全に実行可能です。

現在、どのアプローチが好ましいかわかりません。

誰かが言った、自分のランナーを使う方がよりプロフェッショナルだ。反対に、公式に推奨されているオムニバス ランナー インストーラーを使用するのがより標準的なようです。

0 投票する
4 に答える
36642 参照

gitlab-ci - 複数の gitlab-ci-runners を実行するには?

非常に基本的な質問ですが、(良い) ドキュメントが見つかりませんでした。さあ行こう:

  • 同じサーバーで複数のランナーをセットアップ/実行できますか?
  • ランナー とはどういう意味ですか? これは(オムニバス)インストールですか、それとも私が始めたプロセス/opt/gitlab-runner/bin/runnerですか?
  • に関して/opt/gitlab-runner/bin/runner:そのようなプロセスをいくつか開始することは理にかなっていますか?(gitlab-ci webview の 'Runners' タブの下に個別に表示されることはありません)

ありがとう。

0 投票する
1 に答える
1464 参照

gitlab - ジョブスクリプトはgitlab ciのどこで実行されますか?

ジョブ スクリプトはどこで実行されますか? Runner と同じシステムで動作しますか? ランナーはどのようにスクリプトを実行し、ビルドはどこに保存されますか? 誰かが Gitlab CI の全体の流れを説明できれば素晴らしいと思います。

0 投票する
0 に答える
1764 参照

gitlab - tox を Gitlab CI ジョブとして実行するとアクセス許可が拒否される

私はGitlabとGitlab CIに比較的慣れていません(実際にはCI全体を使用しています)、GitlabサーバーとGitlab CIサーバーの両方を同じマシンに正常にセットアップしました(スペアサーバーが不足しているため、そして私たちのチームがこのCI全体についてはまだ「ベータ」段階です)。

現在、Angular プロジェクト (Web クライアントとして) と Flask プロジェクト (Web サービスとして) の 2 つのプロジェクトが進行中です。Gitlab と Gitlab CI の両方で角度プロジェクトを正常にセットアップしました (うまく機能し、テストを実行し、スクリプトを完全に正常に構築します)。

しかし今、フラスコプロジェクトもセットアップしたいので、継続的インテグレーションも適用できます。そのためにtox、テストスクリプトなどを実行するために使用gulpします(角度プロジェクトに使用していました)。

そして、これがかなり基本的な tox.ini です。

Gitlab CI ジョブでtoxは、開発サーバーで実行しているのはこれだけなので (このセットアップは開発マシンで正常に動作toxし、virtualenv 上になくても実行されます)、これを使い続けます。このコマンドを実行すると、Gitlab CI で許可拒否エラーが発生しました (以下を参照)

ちなみに、私は新しいgitlab-ci-multi-runnerものを使用しており、角度のあるプロジェクトで使用しているランナーをほとんどリサイクルしました(同じマシンでフラスコプロジェクトに新しいランナーを登録しようとしましたが、テストしようとすると応答しません)それ)

また、私は既にtoxを使用してグローバルにインストールしています。これは、sudo pip install toxAngular プロジェクトsudo npm install -g bower gulpsudo npm install npm -g

それから私はちょうど置く

angularプロジェクトのCIジョブで

0 投票する
0 に答える
855 参照

ruby-on-rails - Gitlab CI を実行しようとすると「Rbenv コマンドが見つかりません」

ジョブを実行しようとすると、次のように失敗します。

gitlab-ci-multi-runner 0.4.2 (1e86428)
Shell executor を使用しています...
stdin: tty ではありません
ci-runner で実行してい
ます... 変更を取得しています...
f8858e83 をマスターとしてチェックアウトしています...

whoami
root
echo $PATH /usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin
rbenv local 1.9.3-p551
builds/95c60cbb/0/xxx/xxxx .sh: 27 行目: rbenv: コマンドが見つかりません

ビルドは終了ステータス 127 で失敗しました

ci-runner マシンでルートとして $PATH をチェックすると、次のようになります。/root/.rbenv/plugins/ruby-build/bin:/root/.rbenv/shims:/root/.rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

マルチランナー スクリプトはサービスとして実行され、次を使用して開始されますsudo gitlab-ci-multi-runner start

エグゼキュータは「シェル」であり、rbenv はhttps://gorails.com/setup/ubuntu/14.04の手順を使用してセットアップされました。

私が間違っているところについて何か考えはありますか?

更新/root/.rbenv/bin を $PATH に追加しましたが、取得するだけになりました

gitlab-ci-multi-runner 0.4.2 (1e86428)
Shell executor を使用しています...
stdin: tty ではありません
ci-runner で実行してい
ます... 変更を取得しています...
f8858e83 をマスターとしてチェックアウトしています...

export PATH="/root/.rbenv/bin:$PATH"
rbenv local 1.9.3-p551
rbenv: バージョン `1.9.3-p551' がインストールされていません

ビルドは終了ステータス 1 で失敗しました

ただし、Ruby 1.9.3-p551 がインストールされています。