0

ジェンキンスバージョン:バージョン1.642.3SCM同期の設定プラグイン - ジェンキンスGITプロンプト問題

SCM Sync Configuration Plugin:0.0.10

は、私がある(ジェンキンスジョブの設定を保存するためのプライベートリポジトリを作成このプラグインの設定中にJenkinsのグローバルコンフィグレーションページで使用するgit url)。プライベートレポ(誰にも公開されていない)を作成したので、共同編集者(JenkinsマスターサーバーでJenkinsマスタープロセスを実行しているサービスユーザーjenkins)を追加する必要がありました。あなたのケースでは、違う場合は、user nameuser.nameの下でManage Jenkins > System Informationを探してください。そうでないとJenkinsプロセスを実行しているユーザーは、OSユーザーがリポジトリにアクセスできない、または権限が拒否されている(公開キー)というエラーが発生します。もう1つの解決策は、ssh keyssh-keygen -t rsaを生成し、Keyファイルが生成されたら、GithubユーザーのSSH設定セクションに.pub公開鍵を入れます:https://git.instance.yourcomany.com/settings/ssh)です。

一つの重要な注意:ロガーを設定する際に、それは(ハドソンで正しい値を使用して対利用可能なオプションのリストに表示さとして誤って hudson.plugins.scm_sync_configuration.ScmSyncConfigurationPluginを選ぶ場合。 plugins.scm_sync_configuration)、ロガーは何も記録しません。 enter image description here この設定では、このプラグインはロガーに何も記録しませんので、ロガーを正しい値に設定してください。

これ以降、このプラグインを設定するためのJenkinsメイングローバルコンフィグレーションページ(エラーはありません)とJenkinsホームページの右下に「SCM同期ステータス:最後の操作@火曜7月25日11時55分43秒PDT 2017

私はダミージョブを作成した(とビルドステップでecho something && sleep 60をしました)といくつかのランダムな値にスリープ時間を変更するため、このビルドステップにいくつかの変更を加えてみました。

Jenkinsジョブの変更を促すメッセージが表示され、Jenkinsジョブが所定のGITリポジトリにチェックインされている必要がありました(jenkinsユーザーのpubキーがすべて設定されているため)。 PS:別のテストジェンキンジョブでこのリポジトリからクローンできます(masterノードで実行中)。また、Jenkinsマスターサーバーからこのレポにclone + git pushをうまく組み込むことができます。ジェンキンのユーザーとして自分自身をmd)。ロガーのログでは、私が見ることができます:

Jul 25, 2017 11:53:37 AM FINE hudson.plugins.scm_sync_configuration.SCMManipulator checkinFiles 
Checking in SCM files ... 
Jul 25, 2017 11:53:37 AM FINE hudson.plugins.scm_sync_configuration.SCMManipulator checkinFiles 
Checked in SCM files ! 
Jul 25, 2017 11:53:37 AM FINEST hudson.plugins.scm_sync_configuration.ScmSyncConfigurationBusiness processCommitsQueue 
Commit Commit [email protected] : 
    Author : asangal 
    Comment : asangal: Jenkins configuration files updated 

Change performed by asangal 

    Changeset : 
    A hudson.scm.SubversionSCM.xml 
    A hudson.plugins.ansicolor.AnsiColorBuildWrapper.xml 
    A hudson.plugins.git.GitTool.xml 
    A hudson.scm.CVSSCM.xml 
    A hudson.tasks.Mailer.xml 
    A hudson.plugins.gradle.Gradle.xml 
    A hudson.tasks.Ant.xml 
    A hudson.plugins.git.GitSCM.xml 
    A hudson.plugins.groovy.Groovy.xml 
    A jenkins.plugins.publish_over_ssh.BapSshPublisherPlugin.xml 
    A hudson.triggers.SCMTrigger.xml 
    A hudson.maven.MavenModuleSet.xml 
    A jenkins.mvn.GlobalMavenConfig.xml 
    A jenkins.model.ArtifactManagerConfiguration.xml 
    A hudson.tasks.Shell.xml 
    A scm-sync-configuration.xml 
    A hudson.plugins.copyartifact.TriggeredBuildSelector.xml 
    A config.xml 
    A hudson.tasks.Maven.xml 
    A jenkins.metrics.api.MetricsAccessKey.xml 
    A hudson.plugins.timestamper.TimestamperConfig.xml 
    A jenkins.model.JenkinsLocationConfiguration.xml 
    A hudson.plugins.build_timeout.operations.BuildStepOperation.xml 
    A hudson.plugins.mercurial.MercurialInstallation.xml 
    A hudson.plugins.emailext.ExtendedEmailPublisher.xml 
    A hudson.plugins.throttleconcurrents.ThrottleJobProperty.xml 

pushed to SCM ! 
Jul 25, 2017 12:49:48 PM FINEST hudson.plugins.scm_sync_configuration.ScmSyncConfigurationBusiness queueChangeSet 
Queuing commit Commit [email protected] : 
    Author : asangal 
    Comment : asangal: Job [dummy_job] configuration updated 

Change performed by asangal 

    Changeset : 
    A jobs/dummy_job/config.xml 

to SCM ... 
Jul 25, 2017 12:49:48 PM FINEST hudson.plugins.scm_sync_configuration.ScmSyncConfigurationBusiness processCommitsQueue 
Processing commit : Commit [email protected] : 
    Author : asangal 
    Comment : asangal: Job [dummy_job] configuration updated 

Change performed by asangal 

    Changeset : 
    A jobs/dummy_job/config.xml 


Jul 25, 2017 12:49:48 PM FINE hudson.plugins.scm_sync_configuration.SCMManipulator checkinFiles 
Checking in SCM files ... 
Jul 25, 2017 12:49:48 PM FINE hudson.plugins.scm_sync_configuration.SCMManipulator checkinFiles 
Checked in SCM files ! 
Jul 25, 2017 12:49:48 PM FINEST hudson.plugins.scm_sync_configuration.ScmSyncConfigurationBusiness processCommitsQueue 
Commit Commit [email protected] : 
    Author : asangal 
    Comment : asangal: Job [dummy_job] configuration updated 

Change performed by asangal 

    Changeset : 
    A jobs/dummy_job/config.xml 

pushed to SCM ! 

質問:

1)私はジェンキンスジョブを変更したとき、私は促されなかったのはなぜ?

2)私の目標git repoにコミット(ロガーがログに正常にチェックイン/プッシュされていることを示している)が表示されないのはなぜですか?私のgithubレポはこれまでのところREADME.mdファイルを表示しています。

3)このプラグインがファイルをチェックインして正確にどこにプッシュしましたか?

答えて

0

解像度/手順が適切にこのプラグインをチェックして、実装するために続く:

を確認してください:

1)あなたのセットアップSCM同期設定する前に、あなたはGitの

で作成したリポジトリ/プロジェクトを持っています

2)ユーザ(jenkinsプロセスを実行中)を探します。通常はjenkinsユーザーです。必要であれば、システムチームと協力して、jenkinsというサービス/ ldapユーザーアカウントを作成して、コラボレータのうちの1つとしてGit/Githubにjenkinsユーザー(またはjenkinsプロセスを実行するユーザー)を追加できるようにします。 。それが不可能な場合は、Jenkins Masterサーバーとsudo su - jenkinsに行って、(sshキー)を作成してください。作成したら、公開鍵を取得し、キーをGithubリポジトリSettings > Deploy Keysの下にアップロードします。

3)このユーザーには~/.gitconfig fileを作成し、次の内容をこのファイルに入れます。

user] 
    name = enter_theuserid 
    email = [email protected] 
[core] 
    editor = vim 
[color] 
    ui = auto 

4)は今()プラグインのドキュメントを1としてジェンキンスグローバル設定の構成でSCM同期プラグインを設定します。 [email protected]:org/your-repo.gitを入力するとすぐに、Jenkinsを実行しているOSユーザーは何もできないと言ってエラーにならないことに気づくでしょう。

5)新しいLOGGER(Logger値があることを確認して作成します。$ JENKINS_HOME/SCM-同期設定/ checkoutConfigurationフォルダ:下ジェンキンスマスターサーバーに移動しますhudson.plugins.scm_sync_configuration

6)。 .gitフォルダーを探します。それが存在しない場合は、SCM Syncプラグインがチェックアウトを実行していないことを意味します。このプラグインでGitリポジトリをチェックアウトできる問題があるかどうかを調べるには、リストボックスの利用可能なオプションから、Loggerの値がhudson.plugins.scm_sync_configuration.ScmSyncConfigurationPluginでなければならない別の新しいロガーを作成することができます。

7)あなたは弾丸第五フォルダに.gitが見つからなかった場合は、その後、checkoutConfigurationフォルダ(葉のフォルダのみを削除)し、SCM同期プラグイン、なし(ラジオボタンにGitリポジトリからの変更バージョン管理)のためのジェンキンスグローバルコンフィギュレーションでは、保存それ。次に戻り、Git(ラジオボタン)を選択し、[email protected]:org/repo-name.git URLをもう一度入力し、[保存]をクリックします。

8)ログに注目してください。今回は、ユーザー(Jenkinsプロセスを実行しているユーザー)がGitリポジトリにWRITEアクセス権を持つ有効な共同編集者として表示されている場合、またはSSH pubキーがGithubリポジトリにアップロードされている場合、リポジトリをCHECKOUTすると、$ JENKINS_HOME/scm- sync-configuration/checkoutConfigurationフォルダー。このフォルダの中に、すべての有効な.git/*ファイルが表示されます。テストの目的のために

9)、あなたは$ JENKINS_HOME/SCM-同期設定/ checkoutConfigurationフォルダの下のファイルに小さな変更を加えることができ、かつ弾丸9が成功した場合は、この時、)git add thatfilename; git commit -m "test change" $_; git pull && git push

10を実行しますあなたがSAVEボタンを押すとすぐにJenkinsジョブに変更を加えると、ポップアップモーダルウィンドウを介してPROMPTし、ユーザーに何らかのコメントを入力するよう要求するSCM Syncプラグインが動作するようにします。

0

Goto Jenkins - > Manage Jenkins - > Configure System。 SCM同期設定セクションで、「コミットメッセージで私を気にしないでください」設定を探します。

ジョブが変更されたときにJenkinsがコミットメッセージのプロンプトを表示するようにするには、「コミットメッセージで私を気にしないでください」というオプションをオフにします。

+0

私の場合は、既にチェックが外されています。しかし、情報をありがとう。私はそのボックスをチェックしてみましたが、それが動作を変更した場合はそのボックスのチェックを外しましたが、今までのところ、変更を加えた後にジョブを保存している間にダイアログボックスが表示されません。 –

+0

変更はリポジトリにコミットされていますか? – Suresh

+0

私が言ったように、Jenkinsのマスターやローカルマシンから、自分のユーザーIDや 'jenkins'サービスユーザーIDを使って手動でREADME.mdファイルに変更をチェックインして、その変更が正常にプッシュされているターゲットリポジトリにコピーします。 SCM Syncロガーは、すべてがチェックインされていること、チェックインされていること、正常にプッシュされていること(エラーはありません)、ジョブ/ユーザー/ etcのジョブや設定ファイルの変更に関する変更がGithubには表示されないことを示しています。私はプロンプトを表示していません。奇妙なハァッ! –