The "scm" tag is a definition of your SCM material. It's not a description
of the plugin. There can be multiple SCM material definitions per plugin.

On Fri, Jan 26, 2018 at 11:15 AM, Aravind SV <[email protected]>
wrote:

> Maybe it's easiest to explain what I'm thinking using a config example
> (see below). Ideally, you'd just have one plugin and multiple SCM materials
> defined.
>
> <cruise ...>
>   <scms>
>
>     <scm id="*AAAA*" name="proj_a">
>       *<pluginConfiguration id="X" version="1" />*
>       <configuration>
>         <property>
>           <key>BASE_URL</key>
>           <value>/path/to/project_a</value>
>         </property>
>       </configuration>
>     </scm>
>
>     <scm id="*BBBB*" name="proj_b">
>       *<pluginConfiguration id="X" version="1" />*
>       <configuration>
>         <property>
>           <key>BASE_URL</key>
>           <value>/path/to/project_b</value>
>         </property>
>       </configuration>
>     </scm>
>
>   </scms>
>
>   <pipelines>
>     <pipeline name="my_project_a">
>       <materials>
>         <scm ref="*AAAA*" />
>         <git url="abcd" .../>
>       </materials>
>     </pipeline>
>
>     <pipeline name="my_project_b">
>       <materials>
>         <scm ref="*BBBB*" />
>       </materials>
>     </pipeline>
>
>     <pipeline name="my_combined_project">
>       <materials>
>         <scm ref="*AAAA*" />
>         <scm ref="*BBBB*" />
>       </materials>
>     </pipeline>
>   </pipelines>
> </cruise>
>
> As you can see, you *define *SCM materials with their pluginConfiguration
> set to your plugin ID. Then, you can use those SCM materials in pipelines
> however you like. The configuration is completely controlled by the plugin.
> In the above example, I chose to show it as BASE_URL. You can have any keys
> you want.
>
> Since there is only one plugin, it loads once on the server and once on
> every agent.
>
> Hope that helps,
> Aravind
>
>
> On Thu, Jan 25, 2018 at 1:09 PM, Markus Kramer <[email protected]>
> wrote:
>
>> Hi Aravind,
>>
>> thanks for your reply, however i am not sure it answers all points of my
>> question yet. What we would like to do is pretty much implement one plugin
>> which is preferably also only loaded once and then run this
>> around 60 to 70 different product base URLs from around the same number
>> of pipelines. So each pipeline should only contain one project, but the
>> methodology applied to construct their working copies, get change
>> information etc is always the same.
>> So lets assume i have a SCM plugin working properly for a single project
>> at one base url,  is there a way to easily setup the same plugin to run
>> against a second project base URL in a completely different pipeline
>> without affecting the other, or would this mean to really compile and load
>> the same plugin several times with different IDs.
>>
>> Thanks,
>>
>> Markus
>>
>>
>>
>>
>>
>> On 25. Jan 2018, at 18:39, Aravind SV <[email protected]> wrote:
>>
>> Hello Markus,
>>
>> On Thu, Jan 25, 2018 at 12:19 PM, <[email protected]> wrote:
>>
>>> I see that there is i.e. one plugin to follow GitHub pull requests for a
>>> certain repository, but does that mean one server can at maximum follow one
>>> GitHub project, or can a single SCM plugin be instantiated multiple times
>>> with different parameters on one server?
>>>
>>
>> Yes, it is definitely possible for a pluggable SCM
>> <https://docs.gocd.org/current/extension_points/scm_extension.html> to
>> be associated with multiple pipelines and even have one pipeline be
>> associated with multiple pluggable SCM materials. Anything you can do with
>> a normal git material should be possible to be done with an SCM plugin.
>>
>> They're stored at a global level, though, unlike a git material which (in
>> the config) is at a pipeline level. That is misleading because GoCD will
>> continue to treat even those git materials as global internally, so that it
>> doesn't poll the same repositories multiple times.
>>
>> There are some SCM plugins which might be interesting to you, such as the
>> git-path-material-plugin
>> <https://github.com/TWChennai/gocd-git-path-material-plugin>. To use
>> as-is or as a skeleton for your plugin.
>>
>> Feel free to ask questions here or in the gitter channel, if you get
>> stuck.
>>
>> Cheers,
>> Aravind
>>
>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "go-cd" group.
>> To unsubscribe from this topic, visit https://groups.google.com/d/to
>> pic/go-cd/oK75CJB4laM/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected].
>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "go-cd" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"go-cd" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to