問題タブ [jenkins-2]
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.
jenkins - Jenkins 2 Pipelines - 継続的デリバリー パイプラインをモデル化する方法
私は Jenkins 2 パイプラインにまったく慣れていません。
次のビューで Jenkins 1 パイプラインを試しました。
特定のステージを直接開始することもできます。たとえば、テストをスキップして、リリース ステージから実行を開始することを選択できるとしましょう。
私は非常に単純な Jenkins 2 パイプライン定義を持っています:
パイプライン ページには、準備から始まるすべてのステージを実行する「今すぐビルド」があります。
私の質問は次のとおりです。
- 自分の好きなステージを実行するにはどうすればよいですか? 例えば準備からではなく挨拶?
- ステージ間の依存関係をどのように定義しますか? 次のステージが終わった後に呼ばれるステージのことです
- 特定のユーザーが開始できるステージを制限する方法はありますか? 特定のユーザーのみに Greeting ステージを起動させたいとします。
- 手動ステージをどのようにセットアップしますか?
更新:私の質問の背後にある本当の目標は、Jenkins 2 パイプラインを使用した次のような継続的デリバリー パイプラインのモデリングです。
これは私が望む動作です:
ビルド ステージ(すべてのユーザーが開始できます) が完了すると、自動的にAcceptance Stageがトリガーされます。これは手動では起動できず、ビルド ステージが正常に終了した後にのみ自動的に起動されます。
Acceptance Stageから、承認されたユーザーのみがQA StageとProduction Stageを手動でトリガーできるようにする必要があります。
ビジネス フローは次のようになります。開発者がビルド ステージに到達し、そのコードがビルドされてパッケージ化されます。受け入れステージが開始され、パッケージ化されたコードを使用して一連の自動テストが実行されます。
この時点で、受け入れ段階が正常に終了すると、次の 2 つのことが発生する可能性があります。
- より多くのテスト (Cucumber、マニュアルなど) を実行するには、QA ステージが必要になる場合があります。一部の許可されたユーザーがこのステージを起動します。
- プロダクト オーナーが満足したら、Production Stage を起動してコードを本番環境にデプロイすることを決定できます。
これを Jenkins 2 パイプラインでモデル化するのに苦労しています。
bitbucket - Jenkins Bitbucket Branch Source Plugin マスターと PR のみをビルドする方法は?
すべてのブランチと PR をスキャンしてビルドするBitbucket Branch Source PluginでJenkins 2 を使用しています。
私の問題は、コードを PR にプッシュすると、ブランチが 2 回 (ブランチ用に 1 つ、PR 用に 1 つ) ビルドされることです。マスターと PR のみをビルドしたいと考えています。
誰かがそれを行う方法を知っていますか? これに関するドキュメントが見つかりません。
Branch Indexing Log
(フィルターなし)から:
次に、PR-* でフィルタリングしようとすると、何もスキャンされません。私はただ得る:
jenkins - Jenkins 2 NPM_TOKEN クレデンシャル
npm publish
パッケージをローカル NPM リポジトリに公開するために使用する Jenkins 2 パイプライン (Jenkinsfile) を実行しようとしています。
そのために、Jenkinsfile で次のステージを使用しようとしました。
現在、私は実行しているだけnpm whoami
で、それが機能するようになったら、に置き換えますnpm publish
。
これは私が得ている出力です:
jenkins-pipeline - 以前のビルド結果を取得する
ビルドが不安定になったり、失敗したり、再び成功したりしたときに、元の Jenkins の動作 (通知の送信など) をエミュレートしたいと考えています。
そのためには、以前のビルド ステータスを照会する必要があります。これは次のように実行できます。
ただし、rawBuild
「危険な」オブジェクトであると想定されているため、ブラックリストに登録されており、Groovy サンドボックス内で実行することはできません。
現在、SCM から Jenkins スクリプトをロードしているため、プロジェクトごとのレベルで Groovy サンドボックスを非アクティブ化する方法はありませんが、Jenkins インスタンス全体に対してのみ (つまり、 this を介して)、これは確かに何かではありません。私が欲しい。
私が見逃した、サンドボックスの原則に準拠した (Jenkins の REST API を介してステータスをクエリするなどのハックを含まない) ジョブの最後のビルド ステータスを判断する他の方法はありますか?
windows - ログインした Active Directory ユーザーのコンテキストで Jenkins ジョブ (Powershell コマンド) を実行する方法
環境:
- Active Directory セットアップでドメイン コントローラーを作成しました。
- Jenkins-2がインストールされた別のサーバーを作成しました(DNSはドメインコントローラーを正しくポイントします)
- Active Directory プラグインをインストールしました
- Powershell プラグインをインストールしました
- コマンドを使用してPowershellジョブを作成しました
Copy-Item -Path \\SFTPServer\Docs\file.txt $Home
手順:
- リスト アイテムの認証情報でJenkins サーバー マシンにログインしました
globomantics.local\administrator
- リスト項目 localhost:8080 で利用できるように Jenkins を開始しました
- 資格情報を使用して Jenkins にログインしたリスト アイテム
globomantics.local\someunderprivilegeduser
- リスト項目 上記で作成した Powershell ジョブを実行する
何が起こるか:
Powershell ウィンドウが表示され、コマンド .. が AD ユーザーのコンテキストで実行されます。globomantics.local\administrator
必要なもの:
Powershell コマンドは、次のコンテキストで実行されます。globomantics.local\someunderprivilegeduser
を使用して jenkins にログインするglobomantics.local\someunderprivilegeduser
と、このマシンで kerberos チケットが生成されることを理解しています。そのチケットを使用してこのpowershellコマンドを実行するにはどうすればよいですか? または、私のアプローチが完全に間違っている場合、他に何をすべきですか?
注: の読み取りが許可されてglobomantics.local\someunderprivilegeduser
いないとしましょう\\SFTPServer\Docs\file.txt
。この場合、Powershell ジョブは失敗するはずです。しかし、ジョブは のコンテキストで実行されるためglobomantics.local\administrator
、ジョブは正常に実行されます。
jenkins - Jenkins 2 オーバーライド plugins.txt
Jenkins 1.6 から Jenkins 2.0 に移行しています。docker を使用して Jenkins を作成および実行していました。
不変のジェンキンとして構成するために、すべての xml 構成ファイルをコピーし、plugins.txt を使用して必要なすべてのプラグインをインストールしていました。
しかし、問題は、Jenkins を初期化して接続した後、パスにある管理者パスワードを要求するウィザード画面しか表示されないことです。そのパスワードを入力した後、彼はプラグインのインストールを要求しましたが、これは既にインストールされていると予想していました。
そのウィザードを終了すると、plugins.txt リストのプラグインがインストールされていないか、users フォルダーにユーザーが渡されています。
これを修正する方法はありますか?Jenkins 1.6 では、すべて正常に動作します。
jenkins-2 - Jenkins2 のクリーンなワークスペース
Jenkins2 でビルドが失敗し、ワークスペースにクリーンアップするだけで問題が解決するという問題があります。Jenkins1 ではワークスペースを手動でクリーンアップできましたが、Jenkins2 ではこの問題は見られません。
リモート ブランチを削除し、それらを再作成してワークスペースをクリーンアップしていますが、マスターに対しては実行できません。
リモート ブランチを削除せずにワークスペースをクリーンアップするにはどうすればよいですか?