diff --git a/README.md b/README.md index 3fe7f0d..cc93c77 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ # 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](https://github.com/SoftwareAG/webmethods-sample-project-layout) +Software AG DevOps library to support assets CI (continuous integration) with webMethods 10.2 +Currently customized to work with Order to cash project located at https://github.com/vidb/WM_O2C.git ## 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 @@ -12,67 +12,3 @@ by running all tests uploaded your version control. ### 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](mailto:Henning.Waack@softwareag.com) -[Angel Tcholtchev](mailto:Angel.tcholtchev@softwareag.com) - -______________________ -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. -_____________ -Contact us at [TECHcommunity](mailto:technologycommunity@softwareag.com?subject=Github/SoftwareAG) if you have any questions. - - - - - - - - - - - - diff --git a/System.properties b/System.properties index 26c0027..f6f1018 100644 --- a/System.properties +++ b/System.properties @@ -10,7 +10,7 @@ deployerUsername=Administrator deployerPassword=manage #Target CI Test Server Settings -testISHost=localhost +testISHost=test1 testISPort=5555 testISUsername=Administrator testISPassword=manage diff --git a/master_build_Reference/build.properties b/master_build_Reference/build.properties index dac7719..668c789 100644 --- a/master_build_Reference/build.properties +++ b/master_build_Reference/build.properties @@ -12,7 +12,8 @@ sag.install.dir=${SAGHome} # be saved in the corresponding directory. # Use slash "/" as path separator. Example: Use "C:/SoftwareAG", instead of "C:\SoftwareAG". # The property value should not contain blank symbols at the end. -build.output.dir=${buildOutputDir} +build.output.dir=/opt/softwareag/common/AssetBuildEnvironment/master_build/WmO2CProjectACDLS +build.checkout.dir=WmO2CProject # This is the directory where the assets for all the products that have to be build are located. This directory @@ -22,13 +23,16 @@ build.output.dir=${buildOutputDir} # Normally you download them from a version control system (VCS) to your HDD. # Use slash "/" as path separator. Example: Use "C:/SoftwareAG", instead of "C:\SoftwareAG". # More than one directory can be specified by using ; delimiter. Please do not use blank symbols around the delimiter. -build.source.dir=${isProjectsDir};${isConfigDir};${bpmProjectsDir};${mwsProjectsDir};${rulesProjectsDir};${umProjectsDir} +build.source.dir=${isProjectsDir};${mwsProjectsDir};${bpmProjectsDir} + +#build.source.dir=${isProjectsDir};${isConfigDir};${bpmProjectsDir};${mwsProjectsDir};${rulesProjectsDir};${umProjectsDir} # Use slash "/" as path separator. Example: Use "C:/SoftwareAG", instead of "C:\SoftwareAG". # More than one directory can be specified by using ; delimiter. Please do not use blank symbols around the delimiter. build.source.project.dir= + # This is the version of the current builds. A auto incremental build number will be appended to this to # get the final build number. For example, the build for version 9.7 will have a build number = 9.8.1 and # the second build number will be 9.8.2. @@ -36,7 +40,7 @@ build.version=1.0 # Enable/disable the check out task -enable.checkout = false +enable.checkout = true # Enable/disable the archive task enable.archive = false @@ -47,8 +51,8 @@ build.archive.dir= # Enable/disable the product builds enable.build.IS = true -enable.build.MWS = false -enable.build.BPM = false +enable.build.MWS = true +enable.build.BPM = true enable.build.TN = false enable.build.Optimize = false enable.build.Broker = false