You can confirm that a reference repository is being used by looking for the file .git/objects/info/alternates in the repository.
The file in my sample repository includes the text: /home/mwaite/git/bare/jenkins/jenkins.git/objects On Mon, Feb 24, 2020 at 7:18 AM Amila Gunathilake <[email protected]> wrote: > > Hi Mark, > > This is the new master branch Jenkins Console output I'm getting. There > is no message says that I'm using GIT reference repository like-wise my > previous console output in Pull Request. > > [image: Capture.PNG] > > > > So what will be the reason for this ? Is everything okay with this > console out-put ? > > > Thanks, > Amila > > On Monday, February 24, 2020 at 9:04:27 AM UTC-5, Amila Gunathilake wrote: >> >> >> Hi Mark, >> >> Thanks for your reply and your sample job really helped me. Here my New >> Jenkinsfile checkout stage looks like. >> >> [image: Capture.PNG] >> >> I had successfully build the Pull Request this time, when I'm building >> the PR below is the Console Output log I had from Jenkins. >> >> [image: Capture.PNG] >> >> >> >> >> >> >> >> *But after I merged my Pull Request into the master branch I'm just >> getting below Console output for checkout stage without the message "using >> Reference Repository"* >> *Also after merge into master branch and after building in master branch >> "**alternates**" file also missing from the workspace path - '* >> *workspace\master411813f6\.git\objects\info* >> >> *' **is it everything okay? I cannot find weather reference repository >> is using or not ? I'm 100% sure that my reference repository exists in >> build server. * >> >> Thanks >> Amila >> >> >> >> On Friday, February 21, 2020 at 12:00:49 AM UTC-5, Mark Waite wrote: >>> >>> As far as I can tell, you want to: >>> >>> - Use declarative pipeline for clarity of the pipeline >>> - Skip the default checkout so that you can tune the performance of >>> checkout >>> - Perform your own checkout using a reference repository >>> - Use the same Jenkinsfile on branches and on pull requests so that >>> pull requests can be merged into target branches easily >>> - Checkout in the workspace to a branch with the same name as the >>> branch on the git server >>> >>> Based on those assumptions, I created a sample job >>> <https://github.com/MarkEWaite/jenkins-bugs/blob/JENKINS-61120/Jenkinsfile> >>> and a pull request <https://github.com/MarkEWaite/jenkins-bugs/pulls> >>> that targets the master branch >>> <https://github.com/MarkEWaite/jenkins-bugs/blob/master/Jenkinsfile> and >>> meets those requirements. When a pull request is being evaluated, the >>> changes on the pull request are detected and used. When the master branch >>> is being evaluated, its changes are detected and used. >>> >>> Please refer to the sample job and the techniques used in the sample >>> job. Note that you will need the most recent release of the git plugin for >>> references to the scm variable. >>> >>> Mark Waite >>> >>> On Thu, Feb 20, 2020 at 12:21 AM Amila Gunathilake <[email protected]> >>> wrote: >>> >>>> [image: 101Capture.PNG] >>>> >>>> >>>> >>>> Hi Mark, >>>> >>>> After I did your changes Jenkins log/console-output gives below error >>>> message. >>>> [image: 100Capture.PNG] >>>> >>>> [image: 101Capture.PNG] >>>> >>>> >>>> >>>> So as per the above error after your requested changes its not >>>> downloading code from remote repo. Please see below screenshots of Builder >>>> node's workspace folder, which you can have any idea. >>>> >>>> >>>> [image: 102Capture.PNG] >>>> >>>> >>>> >>>> In above Workspace folder as you can see there are no any other my >>>> remote repository files, only having the .git folder. Which is because of >>>> the above error Couldn't find any revision to build >>>> >>>> >>>> I think Couldn't find any revision to build error coming from after we >>>> changed branch name into "branches: [[name: env.BRANCH_NAME]]" >>>> >>>> Please suggest any other ideas. >>>> >>>> Thanks >>>> Amila >>>> >>>> >>>> On Thursday, February 20, 2020 at 2:11:27 AM UTC-5, Amila Gunathilake >>>> wrote: >>>>> >>>>> >>>>> Hi Mark, >>>>> >>>>> After I did your changes Jenkins log/console-output gives below error >>>>> message. >>>>> >>>>> [image: 100Capture.PNG] >>>>> >>>>> >>>>> [image: 101Capture.PNG] >>>>> >>>>> >>>>> So as per the above error after your requested changes its not >>>>> downloading code from remote repo. Please see below screenshots of >>>>> Builder >>>>> node's workspace folder, which you can have any idea. >>>>> [image: 102Capture.PNG] >>>>> >>>>> >>>>> >>>>> In above Workspace folder as you can see there are no any other my >>>>> remote repository files, only having the .git folder. Which is because of >>>>> the above error Couldn't find any revision to build >>>>> >>>>> >>>>> I think Couldn't find any revision to build error coming from after >>>>> we changed branch name into "branches: [[name: env.BRANCH_NAME]]" >>>>> >>>>> Please suggest any other ideas. >>>>> >>>>> Thanks >>>>> Amila >>>>> >>>>> >>>>> >>>>> On Wednesday, February 19, 2020 at 8:39:30 PM UTC-5, Mark Waite wrote: >>>>>> >>>>>> >>>>>> >>>>>> On Tuesday, February 18, 2020 at 6:09:43 PM UTC-7, Amila Gunathilake >>>>>> wrote: >>>>>>> >>>>>>> Hi all, >>>>>>> >>>>>>> I'm having the below issue. >>>>>>> >>>>>>> I was change my code to use GIT Reference repository in Jenkinsfile >>>>>>> code such as below. >>>>>>> >>>>>>> >>>>>>> [image: image-2020-02-18-04-21-49-733.png] >>>>>>> >>>>>>> >>>>>>> >>>>>>> So I made a new pull request in GIT-HUB for the purpose of merge >>>>>>> these changes into my master branch. >>>>>>> >>>>>>> But when the Pull-Request running I saw in my builder machine >>>>>>> (workspace) its not downloading (fetching) the relevant Remote >>>>>>> Pull-Request >>>>>>> Head/Branch/ because in my workspace (builder-machine) local branch >>>>>>> always >>>>>>> checkout with the master branch and fetching from the master branch and >>>>>>> not >>>>>>> checkout for the correct Pull Request Head. >>>>>>> >>>>>>> [image: image-2020-02-18-04-44-45-417.png] >>>>>>> >>>>>>> >>>>>>> >>>>>>> eg: Above screenshot is the way that my local workspace's .git > >>>>>>> HEAD file looks like in the Pull Request I created after above code >>>>>>> changes. And as you can see in the HEAD file it's automatically >>>>>>> checkout in >>>>>>> to the master branch instead of checking out into the relevant >>>>>>> Pull-Request >>>>>>> hash (tag). >>>>>>> >>>>>>> - But below is the correct screenshot I captured from any of >>>>>>> other Pull Requests, which should be the correct way to show the >>>>>>> checkout >>>>>>> branch or the HEAD. >>>>>>> >>>>>>> >>>>>>> [image: image-2020-02-18-04-46-58-927.png] >>>>>>> >>>>>>> I hope you will understand my situation here? Please let me know if >>>>>>> you guys need further information. >>>>>>> >>>>>>> *I throughly suggest that I want some code to replace above Yellow >>>>>>> color highlighted sections.* >>>>>>> >>>>>>> So please could anyone please give some advice regarding this issue >>>>>>> ? >>>>>>> >>>>>>> >>>>>>> >>>>>> The value of 'branches' that you're using is incorrect. In the >>>>>> triggers section you're declaring that if the env.BRANCH_NAME is master, >>>>>> then perform builds on a specific schedule. Use the same >>>>>> env.BRANCH_NAME in the branches section by changing from: >>>>>> >>>>>> branches: [[name: 'origin/* ]] >>>>>> >>>>>> >>>>>> to: >>>>>> >>>>>> branches: [[name: env.BRANCH_NAME]] >>>>>> >>>>>> >>>>>> If the env.BRANCH_NAME is defined for the trigger case, then it >>>>>> should also be defined and available to use when defining the branch >>>>>> name. >>>>>> >>>>>> The duplicate value of refspec will likely prevent the checkout from >>>>>> detecting any changes in your repository. Change from: >>>>>> >>>>>> refspec: "+refs/heads/*:refs/remotes/origin/*", >>>>>> >>>>>> refspec: "+refs/heads/pr/*:refs/remotes/origin/pr/*", >>>>>> >>>>>> >>>>>> to: >>>>>> >>>>>> refspec: "+refs/heads/*:refs/remotes/origin/* >>>>>> +refs/heads/pr/*:refs/remotes/origin/pr/*", >>>>>> >>>>>> >>>>>> The syntax you're using provides a value for refspec then replaces it >>>>>> with a different value for refspec. The corrected syntax provides the >>>>>> default refspec plus the "pr" namespace refspec as a single argument so >>>>>> that both will be used. >>>>>> >>>>>> Mark Waite >>>>>> >>>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Jenkins Users" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/jenkinsci-users/d69b5c1c-e4f8-42e4-ba75-084ada0b653a%40googlegroups.com >>>> <https://groups.google.com/d/msgid/jenkinsci-users/d69b5c1c-e4f8-42e4-ba75-084ada0b653a%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- > You received this message because you are subscribed to the Google Groups > "Jenkins Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/jenkinsci-users/f5630876-867e-4b30-9de5-1d28fa8f8eec%40googlegroups.com > <https://groups.google.com/d/msgid/jenkinsci-users/f5630876-867e-4b30-9de5-1d28fa8f8eec%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CAO49JtH4PGepdJm88rWuK7jEepW9Z07mX2ARRUoS6HH85WGCOg%40mail.gmail.com.
