Difference between revisions of "Globalyzer CI/CD (Continuous Integration and Continuous Delivery)"
Line 34: | Line 34: | ||
* The Files/Directories to scan |
* The Files/Directories to scan |
||
* The location of the Globalyzer License (if using Local Rule Sets) |
* The location of the Globalyzer License (if using Local Rule Sets) |
||
+ | |||
+ | == Project Definition Format== |
||
+ | |||
+ | Here is the template for a project definition file. For the full instructions to setup a project definition file, see our |
||
+ | [https://www.globalyzer.com/gzserver/help/referenceLite/project-definition-file-overview.html help page]. |
||
+ | |||
+ | <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
||
+ | <!-- All items should be allowed anywhere in the xml as long as the hierarchy |
||
+ | is preserved --> |
||
+ | <gzproject> |
||
+ | <login> |
||
+ | <username></username> |
||
+ | <password></password> |
||
+ | <server></server> |
||
+ | <use-local-rulesets></use-local-rulesets> <!-- optional. May be 'true' or 'false' --> |
||
+ | <!-- if true, you need a Globalyzer.license --> |
||
+ | <!-- Optional Parameters --> |
||
+ | <optional> |
||
+ | <proxy-user></proxy-user> |
||
+ | <proxy-password></proxy-password> |
||
+ | <proxy-host></proxy-host> |
||
+ | <proxy-port></proxy-port> |
||
+ | <optional> |
||
+ | </login> |
||
+ | <project-path></project-path> <!-- May instead be specified from command line --> |
||
+ | <project-name></project-name> |
||
+ | <report-path></report-path> <!-- May instead be specified from command line --> |
||
+ | <report-type></report-type> |
||
+ | <data-dictionary-location></data-dictionary-location> <!-- optional --> |
||
+ | <filter-with-dictionary></filter-with-dictionary> <!-- optional. May be 'true' or 'false' --> |
||
+ | <scan-timeout>500</scan-timeout> <!-- optional. Max value 600 (seconds) --> |
||
+ | <generate-partial-results></generate-partial-results> <!-- optional. May be 'true' or 'false' --> |
||
+ | <save-history></save-history> <!-- optional. May be 'true' or 'false' --> |
||
+ | <scans> |
||
+ | <scan> |
||
+ | <!-- create and execute a single scan with this info --> |
||
+ | <scan-name></scan-name> |
||
+ | <ruleset-name></ruleset-name> |
||
+ | <ruleset-owner></ruleset-owner> |
||
+ | </scan> |
||
+ | <scan> |
||
+ | <!-- create and execute a single scan with this info --> |
||
+ | <scan-name></scan-name> |
||
+ | <ruleset-name></ruleset-name> |
||
+ | <ruleset-owner></ruleset-owner> |
||
+ | <use-machine-learning>true</use-machine-learning> <!-- optional. May be 'true' or 'false' --> |
||
+ | <encoding>UTF-8</encoding> <!-- optional. Encoding of files to scan --> |
||
+ | <!-- optional: specify files/directories to scan --> |
||
+ | <scan-items> |
||
+ | <item></item> |
||
+ | <item></item> |
||
+ | </scan-items> |
||
+ | <!-- optional --> |
||
+ | <comments> |
||
+ | <!-- customize Globalyzer recognized comments --> |
||
+ | <todo>SPECIAL_GLOBALYZER_TODO_COMMENT</todo> |
||
+ | <ignore-next-line>GBLYZR_IGNORE_NEXT_LINE</ignore-next-line> |
||
+ | <start-ignore>GLOBALYZER_START_IGNORE</start-ignore> |
||
+ | <end-ignore>GBL_END_IGNORE</end-ignore> |
||
+ | </comments> |
||
+ | <!-- optional --> |
||
+ | <checks> |
||
+ | <!-- specify which issue types to detect --> |
||
+ | <embedded-strings>true</embedded-strings> |
||
+ | <locale-sensitive-methods>false</locale-sensitive-methods> |
||
+ | <general-patterns>true</general-patterns> |
||
+ | <static-file-references>false</static-file-references> |
||
+ | </checks> |
||
+ | </scan> |
||
+ | </scans> |
||
+ | </gzproject> |
Revision as of 21:53, 12 June 2019
Contents
What is Globalyzer Lite and Globalyzer CI/CD?
Globalyzer Lite is the product that allows users to scan code and create reports without having to use the Globalyzer Workbench or set up a database. In the Lingoport Continuous Globalization Server, Globalyzer Lite (Globalyzer CI/CD) is an integral part of the process to create reports that are displayed in the Lingoport Dashboard showing the number of internationalization issues detected.
Using Globalyzer Lite in a Continuous Globalization System
If the Lingoport Continuous Globalization System was installed and configured using the Stack Installer or Stack Updater, then Globalyzer Lite has already been integrated into the system.
- Check in a project definition file into source control.
- On-board a Jenkins project for the code base using one of the Globalyzer Lite templates like Lingoport.SampleLite or Lingoport.SampleLiteLRM.
- Check the Lingoport Dashboard and verify that the results are shown.
Globalyzer Lite is easy to integrate into other Continuous Integration (CI) systems as well.
- Check in a project definition file into source control (or, if you prefer, place one in the Jenkins server's filesystem).
- Run the following from Jenkins' shell:
java -jar globalyzer-lite.jar -f "${WORKSPACE}/GlobalyzerProjectDefinitionFile.xml" --project-path "${WORKSPACE}" --report-path "globalyzer-lite-reports"
- Use the Lingoport Dashboard to display the results from the generated reports.
You may also pass the reports to your own reporting system.
Using Globalyzer Lite from a command line
Globalyzer Lite can be executed from a command prompt or shell via the following command:
java -jar globalyzer-lite.jar some_location/YourProjectDefinitionFile.xml
After Globalyzer Lite finishes each scan, a relevant Globalyzer report is created at the location specified in the Project Definition's report path.
Lite also allows for altering the following parameters via command line options:
- The Project Path
- The Report Path
- The Files/Directories to scan
- The location of the Globalyzer License (if using Local Rule Sets)
Project Definition Format
Here is the template for a project definition file. For the full instructions to setup a project definition file, see our help page.
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!-- All items should be allowed anywhere in the xml as long as the hierarchy is preserved --> <gzproject> <login> <username></username> <password></password> <server></server> <use-local-rulesets></use-local-rulesets> <!-- optional. May be 'true' or 'false' --> <!-- if true, you need a Globalyzer.license --> <!-- Optional Parameters --> <optional> <proxy-user></proxy-user> <proxy-password></proxy-password> <proxy-host></proxy-host> <proxy-port></proxy-port> <optional> </login> <project-path></project-path> <!-- May instead be specified from command line --> <project-name></project-name> <report-path></report-path> <!-- May instead be specified from command line --> <report-type></report-type> <data-dictionary-location></data-dictionary-location> <!-- optional --> <filter-with-dictionary></filter-with-dictionary> <!-- optional. May be 'true' or 'false' --> <scan-timeout>500</scan-timeout> <!-- optional. Max value 600 (seconds) --> <generate-partial-results></generate-partial-results> <!-- optional. May be 'true' or 'false' --> <save-history></save-history> <!-- optional. May be 'true' or 'false' --> <scans> <scan> <!-- create and execute a single scan with this info --> <scan-name></scan-name> <ruleset-name></ruleset-name> <ruleset-owner></ruleset-owner> </scan> <scan> <!-- create and execute a single scan with this info --> <scan-name></scan-name> <ruleset-name></ruleset-name> <ruleset-owner></ruleset-owner> <use-machine-learning>true</use-machine-learning> <!-- optional. May be 'true' or 'false' --> <encoding>UTF-8</encoding> <!-- optional. Encoding of files to scan --> <!-- optional: specify files/directories to scan --> <scan-items> <item></item> <item></item> </scan-items> <!-- optional --> <comments> <!-- customize Globalyzer recognized comments --> <todo>SPECIAL_GLOBALYZER_TODO_COMMENT</todo> <ignore-next-line>GBLYZR_IGNORE_NEXT_LINE</ignore-next-line> <start-ignore>GLOBALYZER_START_IGNORE</start-ignore> <end-ignore>GBL_END_IGNORE</end-ignore> </comments> <!-- optional --> <checks> <!-- specify which issue types to detect --> <embedded-strings>true</embedded-strings> <locale-sensitive-methods>false</locale-sensitive-methods> <general-patterns>true</general-patterns> <static-file-references>false</static-file-references> </checks> </scan> </scans> </gzproject>