Giter VIP home page Giter VIP logo

softwareag / sagdevops-ci-assets Goto Github PK

View Code? Open in Web Editor NEW
26.0 27.0 161.0 8.28 MB

Software AG DevOps library to support assets CI (continuous integration) with webMethods 9.x and 10.0. Work together with https://github.com/SoftwareAG/webmethods-sample-project-layout

License: Apache License 2.0

XSLT 100.00%
devops automated-deployment automated-tests webmethods ant continuous-integration esb integration-server

sagdevops-ci-assets's Introduction

sagdevops-ci-assets

Software AG DevOps library to support assets CI (continuous integration) with webMethods 9.x and 10.0. Works together with webMethods sample project layout

Description

sagdevops-ci-assets is a library that easily enables CI for your webMethods projects. You can setup your infrastructure in minutes and then deploy flowlessly on your test service while also checking the quality by running all tests uploaded your version control.

Set-up

webMethods Installation

Prepare your webMethods installation - your build server can contain only a plain IntegrationServer with Deployer. Keep the server plain - there is no need for designer or database connection. Your test server can be more complex as CI will execute unit and integration tests against it. The build and the test server must reach each other over http so that the deployment and the testing can be performed.

CI Library

Download the library on your build server by

git clone https://github.com/SoftwareAG/sagdevops-ci-assets.git

Edit the System.properties to correspond to your inftrastucture - deployerHost is the machine where your Deployer is running(normally the build server) where targetHost is your test server - where the packages will be deployed and tested.

Notice change the path the Deployer if you're not using the default Integration Server instance.

Build/CI Environment

  • On your build server set-up the default java on PATH to be the JDK that comes with your webMethods installation ${SAG_HOME}/jvm/jvm/bin/java

  • On your build server install Jenkins CI Server and run it with the same user that run your webMethods processes. The CI can work also with other CI server, but for the reference implementation we've chosen Jenkins.

  • In Jenkins->Manage Jenkins->Configure System->EnvironmentVariables define the following environment variables:

  1. SAG_CI_HOME = path_to_th_sagdevops-ci-assets on the local file system.
  2. SAG_HOME = path_to_your_local_webmethods_installation

Use slash "/" as path separator. Example: "C:/SoftwareAG", instead of "C:\SoftwareAG".

Jenkins Pipeline Job

In Jenkins, create a new item from type pipeline. Give it a unique name as we use the job name as identifier further down the process. Scroll down the page to the pipeline definition and choose Pipeline definition from SCM. Choose git as system and give the url of the webmethods-sample-project-layout - https://github.com/SoftwareAG/webmethods-sample-project-layout.git

This sample project contains two pre-created pipeline definitions - Jenkinsfile.win and Jenkinsfile.unix that run on the respective operating systems. Type in the correct file in respect of you build server OS.

Those pipeline definition are orchestrating all steps around the build, deploy and the test on your server. If the all environment variables are set correctly you should not change anything here.

How it works

After your pipeline job is set-up, trigger it. It will download the pipeline description automatically, then checkout the sources, build the core, deploy the code and run tests. Whenever a developer checks in new IS packages and Tests those will be automatically deployed and all new tests will be executed. For this to work, the structure defined here https://github.com/SoftwareAG/webmethods-sample-project-layout.git has followed.

Notice

The wM Test Suite tests will have to be places in a directory a setup directory inside the test project, so that it can be picked up by the test executor.

Authors

Henning Waack
Angel Tcholtchev


These tools are provided as-is and without warranty or support. They do not constitute part of the Software AG product suite. Users are free to use, fork and modify them, subject to the license agreement. While Software AG welcomes contributions, we cannot guarantee to include every contribution in the master project.


For more information you can Ask a Question in the TECHcommunity Forums.

You can find additional information in the Software AG TECHcommunity.


Contact us at TECHcommunity if you have any questions.

sagdevops-ci-assets's People

Contributors

achoo avatar angelsag avatar techcommunity avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sagdevops-ci-assets's Issues

Multiple IS deploying solution

Is There any way to deploy assets from one deployer machine to multi instances enviroment on diferent machines?

I found some workaround. But this is a messy solution :( because each new IS need to be added from scratch.

  1. Add to System.properties definition of new IS
devIS2Host=xxx.xxx.xxx.xxx`
devIS2Port=5555`
devIS2Username=Administrator
devIS2Password=xxxx

Add to setUpInitial.xslt

<xsl:param name="devIS2Host"/>
        <xsl:param name="devIS2Port"/>
        <xsl:param name="devIS2Username"/>
        <xsl:param name="devIS2Password"/>
<Enviroment>
<IS> 
<isalias name="dev2Server">
                               <host><xsl:value-of select="$devIS2Host"/></host>
                               <port><xsl:value-of select="$devIS2Port"/></port>
                               <user><xsl:value-of select="$devIS2Username"/></user>
                               <pwd><xsl:value-of select="$devIS2Password"/></pwd>
                               <useSSL>false</useSSL>
                               <installDeployerResource>true</installDeployerResource>
                               <Test>true</Test>
</isalias>
</IS>
</Enviroment>

Best regards

Pawel

Deploy TN Assets

Is there a way to deploy TN assets using this? I can't find any TN configuration.

Test Report Generation in WmTestSuite

Hi Team,

I checked SAG’s link https://github.com/SoftwareAG/sagdevops-ci-assets and tried using the WmTestSuite Feature.

We took the idea from the test file build.xml provided.

It is working but it is creating different folders for different packages and not a consolidated test report.

Kindly let us know if it is normal.
PFA the test file.xml and the folders created screenshot
E41998E0B6924AF3A4FF88143967CB02

build.zip
we are using.
Let us know if any changes are required.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.