Skip to content

Test1 #6

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 3 additions & 67 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,78 +1,14 @@
# 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

### 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:[email protected])
[Angel Tcholtchev](mailto:[email protected])

______________________
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:[email protected]?subject=Github/SoftwareAG) if you have any questions.












2 changes: 1 addition & 1 deletion System.properties
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ deployerUsername=Administrator
deployerPassword=manage

#Target CI Test Server Settings
testISHost=localhost
testISHost=test1
testISPort=5555
testISUsername=Administrator
testISPassword=manage
14 changes: 9 additions & 5 deletions master_build_Reference/build.properties
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -22,21 +23,24 @@ 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.
build.version=1.0


# Enable/disable the check out task
enable.checkout = false
enable.checkout = true

# Enable/disable the archive task
enable.archive = false
Expand All @@ -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
Expand Down