タグ付けされた質問 「jenkins-pipeline」

Jenkinsの「パイプライン」プラグインスイート(以前の「ワークフロー」)に関する質問。Jenkinsのパイプライン全般(たとえば、ダウンストリームジョブの使用)についてではありません。

10
エラー「入力デバイスはTTYではありません」
から次のコマンドを実行していますJenkinsfile。しかし、「入力デバイスはTTYではありません」というエラーが表示されます。 docker run -v $PWD:/foobar -it cloudfoundry/cflinuxfs2 /foobar/script.sh Jenkinsfileインタラクティブモードを実行せずにからスクリプトを実行する方法はありますか? 基本的script.shに、Dockerコンテナー内で実行したいというファイルがあります。

7
Jenkinsfile(groovy)から変数に実行されたシェルコマンドの出力を取得するにはどうすればよいですか?
Jenkinsfile(Groovy)にこのようなものがあり、後で情報を使用するためにstdoutと終了コードを変数に記録します。 sh "ls -l" どうすればこれを行うことができJenkinsfileますか?特に、内部でどんな種類のグルーヴィーなコードも実行できないようですが?


4
Jenkinsfileにコメントを追加できますか?
Jenkinsfileでコメントは可能ですか?もしそうなら、構文は何ですか? 宣言的なパイプライン構文を使用しています。 SMTPサーバーが動作するまで、以下の「投稿」セクションをコメント化します。 pipeline { agent { label 'docker-build-slave' } environment { IMAGE = 'registry.gitlab.com/XXXXX/bible-server' DOCKER_REGISTRY_CREDENTIALS = credentials('DOCKER_REGISTRY_CREDENTIALS') } options { timeout(10) } stages { stage('Test') { steps { sh 'yarn' sh 'npm test' } } stage('Build') { when { branch '*/master' } steps { sh 'docker login -u ${DOCKER_REGISTRY_CREDENTIALS_USR} …

25
Docker:unix:///var/run/docker.sockのDockerデーモンソケットに接続しようとしているときに権限が拒否されました
私はドッカーが初めてです。Jenkinsを使用してローカルマシン(Ubuntu 16.04)でdockerを使用しようとしました。 以下のパイプラインスクリプトを使用して新しいジョブを構成しました。 node { stage('Build') { docker.image('maven:3.3.3').inside { sh 'mvn --version' } } } しかし、以下のエラーで失敗します。

13
Jenkins Pipeline Wipe Outワークスペース
私たちはJenkins 2.xを実行しており、新しいPipelineプラグインが大好きです。ただし、リポジトリに非常に多くのブランチがあるため、ディスク領域がすぐにいっぱいになります。 ビルドが成功したときにワークスペースを一掃できる、Pipelineと互換性のあるプラグインはありますか?

5
GitHub Orgプラグインを使用してjenkinsパイプライン(jenkinsfile)から別のジョブをトリガーするにはどうすればよいですか?
内部から別のジョブのビルドをトリガーするにはどうすればよいJenkinsfileですか? このジョブは、同じgithub組織の下の別のリポジトリであり、すでに独自のJenkinsファイルを持っていると思います。 また、ローカルブランチのダウンストリームビルドをトリガーしても意味がないため、ブランチ名がマスターの場合にのみこれを実行します。 更新: stage 'test-downstream' node { def job = build job: 'some-downtream-job-name' } それでも、実行するとエラーが発生します some-downtream-job-nameという名前のパラメーター化されたジョブが見つかりません このジョブはジェンキンスに存在し、現在のものと同じ組織フォルダーの下にあると確信しています。独自の仕事もありますJenkinsfile。 この質問は、GitHub組織から各リポジトリとブランチのジョブを自動作成および維持するGitHub組織プラグインに固有のものであることに注意してください。

1
jenkinsパイプライン:エージェントvsノード?
jenkinsパイプラインのエージェントとノードの違いは何ですか? 私はそれらの定義を見つけました: node:Pipelineが実行するほとんどの作業は、宣言された1つ以上のノードステップのコンテキストで行われます。 エージェント:エージェントディレクティブは、パイプライン全体または特定のステージが、エージェントディレクティブが配置されている場所に応じてJenkins環境で実行される場所を指定します。 したがって、どちらもパイプラインステップの実行に使用されます。しかし、いつどれを使用するのですか?

5
Jenkins:パイプラインステージで変数を定義できません
宣言的なJenkinsパイプラインスクリプトを作成しようとしていますが、単純な変数宣言に問題があります。 これが私のスクリプトです: pipeline { agent none stages { stage("first") { def foo = "foo" // fails with "WorkflowScript: 5: Expected a step @ line 5, column 13." sh "echo ${foo}" } } } しかし、私はこのエラーを受け取ります: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: WorkflowScript: 5: Expected a step @ line 5, column 13. def foo = …

15
jenkinsパイプラインジョブ内のすべての `env`プロパティをリストする方法は?
jenkins 2.1ビルドパイプラインを指定すると、jenkinsはenv変数をに注入しますnode{}。たとえば、次のBRANCH_NAMEようにしてアクセスできます node { echo ${env.BRANCH_NAME} ... jenkinsパイプライン内のすべての envプロパティをエコーしたい ... 事前にすべてのプロパティを知っているわけではないことを考慮してください。 私はのようなコードを探しています node { for(e in env){ echo e + " is " + ${e} } ... それは次のようなものをエコーし​​ます BRANCH_NAME is myBranch2 CHANGE_ID is 44 ...

4
Jenkins CIパイプラインスクリプトはメソッドgroovy.lang.GroovyObjectの使用を許可されていません
JavaプロジェクトのコンパイルにJenkins 2を使用しています。pom.xmlからバージョンを読み取りたいのですが、次の例に従っていました。 https://github.com/jenkinsci/pipeline-plugin/blob/master/TUTORIAL.md 例は提案します: ファイルシステムへのアクセスにセキュリティ上の問題があるようですが、ファイルシステムが何を与えているのか(またはその理由が)わかりません。 私は例とは少し違うだけです: def version() { String path = pwd(); def matcher = readFile("${path}/pom.xml") =~ '<version>(.+)</version>' return matcher ? matcher[0][1] : null } 「バージョン」メソッドを実行すると発生するエラー: org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: Scripts not permitted to use method groovy.lang.GroovyObject invokeMethod java.lang.String java.lang.Object (org.codehaus.groovy.runtime.GStringImpl call org.codehaus.groovy.runtime.GStringImpl) at org.jenkinsci.plugins.scriptsecurity.sandbox.whitelists.StaticWhitelist.rejectMethod(StaticWhitelist.java:165) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:117) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:103) at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:149) at …

6
認証情報を使用してJenkins Pipeline Git SCMをチェックアウトしますか?
私はこのチュートリアルに従っていました: node { git url: 'https://github.com/joe_user/simple-maven-project-with-tests.git' ... } ただし、資格情報を追加する方法はわかりません。Jenkinsには、ユーザーuser&passを定義し、ジョブで使用するためのIDを取得する特定の「Credentials」セクションがありますが、それをパイプラインの指示でどのように使用しますか? 私が試した: git([url: 'git@bitbucket.org:company/repo.git', branch: 'master', credentialsId: '12345-1234-4696-af25-123455']) 運が悪い: stderr: Host key verification failed. fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. パイプラインで資格情報を構成する方法はありますか、またはSSHキーをJenkinのLinuxユーザーの.ssh / authorized_keysファイルに配置する必要がありますか? 理想的な世界では、パイプラインジョブとレポキーのリポジトリを用意してから、Docker Jenkinsを起動し、Jenkins Consoleで何も構成せずにこれらのジョブとキーを動的に追加します。


7
Jenkinsスクリプトパイプラインまたは宣言型パイプライン
古いスタイルのプロジェクトベースのワークフローを、Jenkinsに基づくパイプラインに変換しようとしています。通過する間にドキュメント私は2つの異なる名前の構文がある見つけscriptedとはdeclarative。declarative最近のJenkins Web 構文リリースなど(2016年末)。新しい構文リリースがありますが、Jenkinsはスクリプト化された構文もサポートしています。 さて、これら2つのタイプのどちらがどの状況に最適であるかはわかりません。scripted構文はまもなく廃止されますか?ではdeclarative、ジェンキンスパイプラインの将来はどうなるのでしょうか? これらの2つの構文タイプについて考えを共有できる人なら誰でも。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.