WebMethods Subversion Integration

download WebMethods Subversion Integration

of 12

Transcript of WebMethods Subversion Integration

  • 8/11/2019 WebMethods Subversion Integration

    1/12

    webMethods subversion Integration

    IDN Card

    vikram4idn

    Posted on Mar 29, 2013

    Tagged in:webMethods step by step Development

    PRINT

    PDF

    More Sharing

    Services0

    webMethods subversion Integration

    Step by Step webMethods subversion Integration

    Versions:

    webMethods:8.2

    Subversion Server1.6.x

    Subversion Clinets:Collabnet 1.6(command line), Tortoise SVN 1.6/1.7

    1) TortoiseSVN-1.7.11.23600-x64-svn-1.7.8 ) Download Tortoise SVN 64 bit client and install it

    on a remote system or on your Desktop.

    2) Download subversion client CollabNetSubversion-client-1.6.20-1-

    Win32 fromhttp://www.collab.net/downloads/subversion and install it on the same computer

    where your Integration Server(IS) is running. Subversion only supports 1.6.x versions.

    3) SVN Client software must be executable by the user account that is used to start IS. So,

    make sure the user should have Admin access to the IS and also to the computer.

    4) Include C:Program Files:TortoiseSVNin in the PATH statement for the user account.

    5) Tortoise SVN is a Shell extension to use the client we should always open it in a Repo

    Browser, Select a folder -> Right click on it -> Go to TortoiseSVN and click on Repo Browser.

    http://www.idnxchange.com/webmethods-blogs/webmethods-subversion-integration.htmlhttp://www.idnxchange.com/webmethods-blogs/webmethods-subversion-integration.htmlhttp://www.idnxchange.com/index.php?option=com_idn&view=businesscard&id=74http://www.idnxchange.com/webmethods-blogs/blogger/vikram4idn/http://www.idnxchange.com/webmethods-blogs/tags/webMethods-step-by-step-Development/http://www.idnxchange.com/webmethods-blogs/webmethods-subversion-integration.htmlhttp://www.idnxchange.com/webmethods-blogs/webmethods-subversion-integration.htmlhttp://www.idnxchange.com/webmethods-blogs/webmethods-subversion-integration.htmlhttp://www.idnxchange.com/webmethods-blogs/webmethods-subversion-integration.htmlhttp://www.idnxchange.com/webmethods-blogs/webmethods-subversion-integration.htmlhttp://www.idnxchange.com/webmethods-blogs/webmethods-subversion-integration.htmlhttp://www.collab.net/downloads/subversionhttp://www.collab.net/downloads/subversionhttp://www.idnxchange.com/webmethods-blogs/printblog.html?index_php?view=article&id=242&tmpl=component&print=1http://www.idnxchange.com/webmethods-blogs/printblog.html?index_php?view=article&id=242&tmpl=component&print=1http://www.collab.net/downloads/subversionhttp://www.idnxchange.com/webmethods-blogs/webmethods-subversion-integration.htmlhttp://www.idnxchange.com/webmethods-blogs/webmethods-subversion-integration.htmlhttp://www.idnxchange.com/webmethods-blogs/webmethods-subversion-integration.htmlhttp://www.idnxchange.com/webmethods-blogs/webmethods-subversion-integration.htmlhttp://www.idnxchange.com/webmethods-blogs/tags/webMethods-step-by-step-Development/http://www.idnxchange.com/webmethods-blogs/blogger/vikram4idn/http://www.idnxchange.com/index.php?option=com_idn&view=businesscard&id=74http://www.idnxchange.com/webmethods-blogs/webmethods-subversion-integration.html
  • 8/11/2019 WebMethods Subversion Integration

    2/12

    6) Download Subversion server software CollabNetSubversion-server-1.6.20-1-Win32.exe

    fromhttp://www.collab.net/downloads/subversion

    7) Install the Subversion server software and access it via URLhttp://localhost/svn/

    8) Start/Stop or restart the Subversion Server via the windows service

    "Collabnet Subversion Apache "

    9) Browse Repositories and click on Create button to create one webMethods_SVN

    10) This Repository will be by default created at C:csvndata:repositories and you can also access

    your Repository viahttp://localhost/svn/webMethods_SVN/

    Asks for Authentication, provide default username and pwdadminFor command line use $svn create webMethods_SVN --username= --password=

    11) Go to Repositories access rules and grant rw access to SVN users

    EX:admin = rw

    Go to C:csvndata:repositories:webMethods_SVN:config and open svnserve.conf and uncommentthe lines and save the changes:[general]anon-access = read

    auth-access = writepassword-db = passwd

    12) Open the file password located at webMethods_SVN repository and add Integration

    Server and SVN Server users and save the file

    Administrator = manage

    admin = admin

    Start the Repository using svnserve command

    http://www.collab.net/downloads/subversionhttp://www.collab.net/downloads/subversionhttp://localhost/svn/http://localhost/svn/http://localhost/svn/http://localhost/svn/webMethods_SVN/http://localhost/svn/webMethods_SVN/http://localhost/svn/webMethods_SVN/http://localhost/svn/webMethods_SVN/http://localhost/svn/http://www.collab.net/downloads/subversion
  • 8/11/2019 WebMethods Subversion Integration

    3/12

    $svnserve -d -r C:csvn:data:repositories

    13) Now you can access all the Repositories from svn://localhost

    14) In Repo Browser access your Repository via svn://localhost

    At this moment Authentication dialog might pop out. use your SVN user account to get into the

    repository. Please keep Save authentication option unchecked. Otherwise all changes to SVN are

    logged under one account.

    15) Go to webMethods_SVNRepository create a folder test1/packagesvia add folder option

    16) Do a SVN Commit to commit your changes to SVNServer and then Do SVN Update to

    synchronize your working directory with the repository content.

    17) Now since your changes were committed at SVNserver you now have to map SVN link to

    IS packages folder...see screenshot at the end

    18) Open IS Admin console and Do the below settings at Settings -> extended settingsAdd:watt.server.createPackage.ignorePattern=.svn

    So, everytime when you do a chekin to your repository, your working directory which is

    IS/packages will exclude .svn files while placing them in a repository

    Removewatt.server.ns.backupNodes Setting

    19) If you have enabled the watt.server.ns.backupNodes setting, you must remove it. This

    setting conflicts with the operation of the VCS Integration feature, which essentially

    replaces it.

    To remove the watt.server.ns.backupNodes setting

    1 In the Integration Server Administrator, go to the Settings > Extendedpage.2 Determine whether the watt.server.ns.backupNodes setting is displayed in the

    Extended Settings list. If it is, go to step 4. If the setting is not visible:

    a Click Show and Hide Keys.

    b On the Settings > Extended > Show and Hide Keyspage, look for the setting

    watt.server.ns.backupNodes. If the setting is present, select the check box next to

    watt.server.ns.backupNodes and click Save Changes. If the setting is not visible,click Return to Extended Settings.

  • 8/11/2019 WebMethods Subversion Integration

    4/12

    3 On the Settings > Extendedpage, click Edit Extended Settings.

    4 In the Extended Settings text box, delete the watt.server.ns.backupNodes setting.

    5. Click Save Changes.

    20) Settings at Developer

    1. Start Developer.

    2. On the Tools menu, click Options, and then click General.3. Under the Navigation panel, clear the Automatically unlock upon save check box,

    and then click OK.

    21) Settings at Designer

    1) Start Designer.2 ) Go to Windows > Preferences > Software AG > Service Development > PackageNavigator.

    3 Clear the Automatically unlock upon save check box, and then click OK.

    21)To configure the WmVCS package to work with Subversion

    1 In Integration Server Administrator, go to the Solutions > VCS > Edit

    Configurationpage.2 In the Select Version Control System list, click Subversion, and then click SaveChanges.

    3 Restart Integration Server.

    To map one Integration Server user to one VCS user1 In the Integration Server Administrator, go to the Solutions > VCS > User Mapping >Create New User Mapping page.2 In the Integration Server User Name field, type the Integration Server user name and theVCS user name and password. Use the format Integration Server user name;VCS user

    name;VCS password. Type the entry for each Integration Server user on its own line.All user account credentials are case-sensitive.Note: If you specify an invalid VCS user name and password, when commands are sent to theVCS client, the client will stop responding while awaiting the correct user name and password. As

  • 8/11/2019 WebMethods Subversion Integration

    5/12

    a result, Developer or Designer will also stop responding. Integration Server Administrator doesnot validate, create, or modify VCS users.3 Click Save Changes.

    The VCS Integration feature encrypts the VCS passwords and stores the VCS user names and

    encrypted passwords on Integration Server.

    ->Your Repository should have the folder packages in it. Since your working directory would be

    IS/packages, Subversionexpects a packages folder in your repository.

    Error: svn://localhost/packages, D:webMethods82IntegrationServerpackages]; exit

    value: 1; output: [svn: E170000: URL 'svn://localhost/packages' doesn't exist]

    Go to your repository svn://localhost/ and create a folder and specify the SVN URL accordingly.

    For Example: If you are creating svn://localhost/packages then your SVN URL should be

    svn://localhost/ and if you are creating /wM/packages then your SVN URL should besvn://localhost/wM/packages

    Connecting to Subversion for the First Time1 Go to the Solutions > VCS > Edit Configuration page and click the Advanced Settings link.2 In the Subversion Repository Location field, type the URL for the Subversion repository.3 Click Save Changes.

    4 Restart Integration Server.

    Re-Connecting to Subversion or changing the IP or Deleting:

  • 8/11/2019 WebMethods Subversion Integration

    6/12

    Check the optionfirst whenever you delete the existing URL

    Now your working copy or Directory /IS/Packages is subversioned.

  • 8/11/2019 WebMethods Subversion Integration

    7/12

    Basic SVN Commands:

    SVN Import:

    To set an IS, one must first do the initial import in Subversion. This must be done prior torunning the WmSubversion package and if you were not able to establish a svnlink from IS

    Admin console. To import IS into Subversion, run the following commands. (Note that path

    names and comments are more brief than in most environments.)

    % cd D:webMethods82IntegrationServerpackages

    % svn import -m "Initial import." . http://localhost/svn/webMethods_SVN/test1/packages --

    username=admin --password=admin

    Note that because by default Subversion will import all files, one might first want to removefiles that are generated, such as .bak, .class and node.ndf

    files.

    % cd .. % mv packages D:/archive %

    svn checkout http://localhost/svn/webMethods_SVN/test1/packages --

    username=admin --password=admin packages

    .

  • 8/11/2019 WebMethods Subversion Integration

    8/12

    The subversion server can now be started using the command svnserve -D -r -R

    /home/user/myrepo/ (this runs on port 631). Since this command needs to be executed every

    time the system reboots, the user may use the system init scripts. Many linux distributions (like

    SuSE), which ship with svnserve provide the init script in /etc/init.d/. In this case the server can

    be started using (after modifying them to adjust the repository path):

    svnserve as daemon:

    The easiest option is to run svnserve as a standalone daemon process. Use the -d option for

    this:

    $ svnserve -d

    $ # svnserve is now running, listening on port 3690

    When running svnserve in daemon mode, you can use the --listen-port and --listen-host options

    to customize the exact port and hostname to bind to. Once we successfully start svnserve as

    explained previously, it makes every repository on your system available to the network.

    A client needs to specify an absolute path in the repository URL. For example, if a repository is

    located at /var/svn/project1, a client would reach it

    via svn://host.example.com/var/svn/project1. To increase security, you can pass the -r option to

    svnserve, which restricts it to exporting only repositories below that path. For example:

    $ svnserve -d -r /var/svn

    Using the -r option effectively modifies the location that the program treats as the root of the

    remote filesystem space.

    To start SVN Repository

    C:\svnserve -d r C:\csvn\data\repositories\\

    Via Repo browser, we can access through svn://localhost/

    Where svn://localhost would be the root for C:\csvn\data\repositories\\

    Clients then use URLs that have that path portion removed from them, leaving much shorter (and

    much less revealing) URLs:

    $ svn checkout svn://host.example.com/project1

    svnserve as a Windows service:

    If your Windows system is a descendant of Windows NT (Windows 2000 or newer), you can run

    svnserve as a standard Windows service.

    This is typically a much nicer experience than running it as a standalone daemon with the --

    daemon (-d) option. Using daemon mode requires launching a console, typing a command, and

    then leaving the console window running indefinitely. A Windows service, however, runs in the

    background, can start at boot time automatically, and can be started and stopped using the same

    consistent administration interface as other Windows services.

    You'll need to define the new service using the command-line tool SC.EXE. Much like the inetd

    configuration line, you must specify an exact invocation of svnserve for Windows to run at startup

    time:

    C:\> sc create svn

    binpath= "C:\svn\bin\svnserve.exe --service -r C:\repos"

    displayname= "Subversion Server"

    depend= Tcpip

    start= auto

  • 8/11/2019 WebMethods Subversion Integration

    9/12

    This defines a new Windows service named svn which executes a particular svnserve.exe

    command when started (in this case, rooted at C:\repos). There are a number of caveats in the

    prior example, however.

    First, notice that the svnserve.exe program must always be invoked with the --service option.

    Any other options to svnserve must then be specified on the same line, but you cannot add

    conflicting options such as --daemon (-d), --tunnel,or --inetd (-i). Options such as -r or --listen-port are fine, though.

    Second, be careful about spaces when invoking the SC.EXE command: the key= value patterns

    must have no spaces between key= and must have exactly one space before the value. Lastly, be

    careful about spaces in your command line to be invoked. If a directory name contains spaces (or

    other characters that need escaping), place the entire inner value of binpath in double quotes, by

    escaping them:

    C:\> sc create svn

    binpath= "\"C:\program files\svn\bin\svnserve.exe\" --service -r C:\repos"

    displayname= "Subversion Server"

    depend= Tcpip

    start= auto

    Also note that the word binpath is misleadingits value is a command line, not the path to an

    executable.

    That's why you need to surround it with quotes if it contains embedded spaces.

    Once the service is defined, it can be stopped, started, or queried using standard GUI tools (the

    Services administrative control panel), or at the command line:

    C:\> net stop svn

    C:\> net start svn

    The service can also be uninstalled (i.e., undefined) by deleting its definition: sc delete svn. Just

    be sure to stop the service first! The SC.EXE program has many other subcommands and options;run sc /? to learn more about it.

    svn unlock --force

    http://localhost/svn/webMethods_SVN/packages/Default/ns/Untitled/test/flow.xml

    Do not use IS Admin console to unlock the elements used by VCS feature. If the lock status of an

    element is not correct then If these conditions occur, refresh the Developer Navigation panel. If

    the condition persists, apply the Check In command. If you are still having problems, check in

    theelement with the VCS client and restart the Integration Server.

    svn resolve --accept working working copy/filename

    Advertisement

    Set as favorite

    Bookmark

    Email this

    Hits: 6919

    Comments (7)

  • 8/11/2019 WebMethods Subversion Integration

    10/12

    Show/hide comments

    ...

    written by Vikram, January 08, 2014

    Abhijit, yes it's true.. my IS has wmSubversion package when since it was installed.

    1. No there is no need to install it in same machine, i was working on a POC...later we

    achieved integration via different machines.

    2. yes, i was using wM 8.2 version which supports till 1.6.x versions..while i was working

    there was subversion server 1.7.x available so mentioned term only..it should be till

    1.6.x and 9.x has support for subversion serve 1.7x

    3. Have you done user mapping for Itegration Server Username user in Solution > VCS

    > User Mapping along with the VCS Username..see above screenshots and

    also setting the path (path to svn bin folder) into environment variables and restart the

    IS can resolve this...

    +0

    ...

    written by abhijit, January 08, 2014

    Hi Vikram,

    I have few questions.I must thank you for creating wonderful blog before getting into

    questions.

    1. Does the SVN server need to be installed on same machine where IS is installed? Inscreenshotts above most of the time it is SVN URL is mentioned as localhost.

    2. In wmSubversion package read me file, it is mentioned that it supports subversion

    versions 1.3 and later. But you blog says it supports only 1.6.*. Just wanted to double

    check.

    3. I tried all the steps you mentioned. But when trying to save SVN URL in advanced

    setting as per step "Connecting to Subversion for the First Time ", it is showing below

    error:

    [8389]2014-01-08 19:19:33 IST [ISC.0077.9998E] Exception -->

    java.util.MissingResourceException: Can't find resource for bundle

    com.webmethods.vcs.resources.VCSExceptionBundle, key Cannot run program "svn":

    CreateProcess error=2, The system cannot find the file specified

    Additional Info: The integration server is installed on windows machine. SVN is company

    server with repository URL and has "packages" directory created at the folder level

    mentioned in svn url.

    +0

  • 8/11/2019 WebMethods Subversion Integration

    11/12

    ...

    written by abhijit, January 07, 2014

    hello Vikram,

    I think I should have clarified this before asking my earlier question. I was not able to

    see "subversion" in drop down list when I was trying step no 21 in your blog. When I

    researched further, I realised that only those XYZ VCS systems will be visible in drop

    down for which we have installed corresponding wmXYZ package on IS. Probabaly, your

    IS has wmSubversion package when since it was installed.

    +0

    ...written by Vikram, January 07, 2014

    Abhijit, There is no need to have wMSubversion package if you are using any third party

    subversion server, you can only look for wMVCS package to configure your subversion,

    user mapping and specify your repository..see above screenshots and refer complete

    blog.

    +0

    ...

    written by abhijit, January 02, 2014

    I guess we need to have wmSubversion package installed on the IS. Unfortunately I do

    not have it on my IS. I tried to download from empower. But I could not locate it on

    empower. Can you suggest from where I can get it?

    +0

    ...written by Vikram, December 06, 2013

    Hi Ameer,

    You can use any subversion server, but the server version should be compatible with

    your IS. Checkhttp://documentation.softwarea...eature.pdf

    wM 9.0 sp1 supports only these..

    http://documentation.softwareag.com/webmethods/wmsuites/wmsuite9-0_sp1/Integration_Server/9-0-SP1_Configuring_the_VCS_Integration_Feature.pdfhttp://documentation.softwareag.com/webmethods/wmsuites/wmsuite9-0_sp1/Integration_Server/9-0-SP1_Configuring_the_VCS_Integration_Feature.pdfhttp://documentation.softwareag.com/webmethods/wmsuites/wmsuite9-0_sp1/Integration_Server/9-0-SP1_Configuring_the_VCS_Integration_Feature.pdf
  • 8/11/2019 WebMethods Subversion Integration

    12/12

    Subversion 1.4, 1.6, and 1.7

    Thanks

    +0

    ...

    written by Ameer, December 05, 2013

    Dear Vikram

    This is a greate artical.

    Actually, we had some issue impliminting the SVN.

    Can I use Subversion 1.8.5 (Windows 64-bit)

    as a subversion server?

    +0